

 AWS Cloud9 tidak lagi tersedia untuk pelanggan baru. Pelanggan yang sudah ada AWS Cloud9 dapat terus menggunakan layanan seperti biasa. [Pelajari selengkapnya](https://aws.amazon.com/blogs/devops/how-to-migrate-from-aws-cloud9-to-aws-ide-toolkits-or-aws-cloudshell/)

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Bekerja dengan Pembangun, Pelari, dan Debugger di IDE AWS Cloud9
<a name="build-run-debug"></a>

Seorang *builder* menginstruksikan AWS Cloud9 Integrated Development Environment (IDE) bagaimana membangun file proyek. Seorang *pelari* menginstruksikan AWS Cloud9 IDE cara menjalankan file dari jenis tertentu. Sebuah runner dapat menggunakan *debugger* untuk membantu menemukan masalah apa pun dalam kode sumber file.

Anda dapat menggunakan AWS Cloud9 IDE untuk membangun, menjalankan, dan men-debug kode Anda dengan cara berikut:
+ Menggunakan builder untuk membangun file proyek Anda. Untuk informasi selengkapnya, lihat [Membangun File Proyek Anda](#build-run-debug-build).
+ Gunakan runner untuk menjalankan (serta opsional, untuk men-debug) kode Anda. Untuk informasi selengkapnya, lihat [Build, Run, dan Debug Support](#build-run-debug-supported) bawaan dan [Jalankan Kode Anda](#build-run-debug-run).
+ Ubah runner bawaan untuk menjalankan (serta opsional, untuk men-debug) kode Anda dengan cara yang berbeda dari bagaimana itu awalnya didefinisikan. Untuk informasi selengkapnya, lihat [Mengubah Pelari Bawaan](build-run-debug-change-runner.md).
+ Gunakan runner untuk menjalankan (serta opsional, untuk men-debug) kode Anda dengan kombinasi kustom dari nama file, opsi baris perintah, mode debug, direktori kerja saat ini, dan variabel lingkungan. Untuk informasi selengkapnya, lihat [Membuat Konfigurasi Jalankan](build-run-debug-create-run-config.md).
+ Buat builder atau runner Anda sendiri. Untuk informasi selengkapnya, lihat [Membuat Builder atau Runner](#build-run-debug-create-builder-runner).

## Dukungan Bangun, Jalankan, dan Debug Bawaan
<a name="build-run-debug-supported"></a>

 AWS Cloud9 IDE menyediakan dukungan bawaan untuk membangun, menjalankan, dan men-debug kode untuk beberapa bahasa. Untuk daftar lengkap, lihat [Dukungan Bahasa](language-support.md).

Dukungan bangun bawaan tersedia pada bilah menu dengan perintah menu **Jalankan**, **Bangun Sistem** dan **Jalankan**, **Bangun**. Untuk menambahkan dukungan untuk bahasa atau alat pemrograman yang tidak tercantum, lihat [Buat Builder atau Runner](#build-run-debug-create-builder-runner).

Dukungan eksekusi bawaan tersedia dengan tombol **Jalankan**, dan pada bilah menu dengan perintah menu **Jalankan**, **Jalankan Dengan** dan **Jalankan**, **Konfigurasi Penjalanan**. Untuk menambahkan dukungan untuk bahasa atau alat pemrograman yang tidak tercantum, lihat [Buat Builder atau Runner](#build-run-debug-create-builder-runner) dan [Buat Konfigurasi Penjalanan](build-run-debug-create-run-config.md).

Dukungan debug bawaan tersedia melalui jendela **Debugger**. Untuk menampilkan jendela **Debugger**, pilih tombol **Debugger**. Jika tombol **Debugger** tidak terlihat, pilih **Jendela**, **Debugger** pada bilah menu.

## Bangun File Proyek Anda
<a name="build-run-debug-build"></a>

1. Buka file yang sesuai dengan kode yang ingin Anda bangun.

1. Pada bilah menu, pilih **Jalankan, Bangun Sistem**, lalu pilih nama builder yang akan digunakan, jika belum dipilih. Jika builder yang ingin Anda gunakan tidak terdaftar, hentikan prosedur ini, selesaikan langkah-langkah di [Buat Builder atau Runner](#build-run-debug-create-builder-runner), dan kemudian kembali ke prosedur ini.

1. Pilih **Jalankan, Bangun**.

## Jalankan Kode Anda
<a name="build-run-debug-run"></a>

1. Buka file yang sesuai dengan kode yang ingin Anda jalankan, jika file tersebut belum dibuka dan dipilih.

1. Pada bilah menu, pilih salah satu dari berikut ini:
   + Untuk menjalankan kode dengan runner bawaan yang paling cocok, pilih **Jalankan, Jalankan**. Jika AWS Cloud9 tidak dapat menemukannya, perintah ini dinonaktifkan.
   + Untuk menjalankan kode dengan konfigurasi run yang AWS Cloud9 terakhir digunakan, pilih **Run, Run Last**.
   + Untuk menjalankan kode dengan runner tertentu, pilih **Jalankan, Jalankan Dengan**, dan kemudian pilih nama runner. Jika runner yang ingin Anda gunakan tidak terdaftar, hentikan prosedur ini, selesaikan langkah-langkah di [Buat Builder atau Runner](#build-run-debug-create-builder-runner), dan kemudian kembali ke prosedur ini.
   + Untuk menjalankan kode dengan runner tertentu dengan kombinasi nama file kustom, opsi baris perintah, mode debug, direktori kerja saat ini, dan variabel lingkungan, pilih **Jalankan, Konfigurasi Penjalanan**, dan kemudian pilih nama konfigurasi penjalanan. Pada tab konfigurasi penjalanan yang ditampilkan, pilih **Runner: Otomatis**, pilih runner yang ingin Anda gunakan, lalu pilih **Jalankan**. Jika runner yang ingin Anda gunakan tidak terdaftar, hentikan prosedur ini, selesaikan langkah-langkah di [Buat Builder atau Runner](#build-run-debug-create-builder-runner), dan kemudian kembali ke prosedur ini.

## Debug Kode Anda
<a name="build-run-debug-debug"></a>

1. Pada tab konfigurasi penjalanan untuk kode Anda, pilih **Jalankan dalam Mode Debug**. Ikon bug berubah menjadi hijau dengan latar belakang putih. Untuk informasi selengkapnya, lihat [Jalankan Kode Anda](#build-run-debug-run) dan [Buat Konfigurasi Penjalanan](build-run-debug-create-run-config.md).

1. Atur breakpoint dalam kode Anda yang ingin Anda jeda selama penjalanan, sebagai berikut:

   1. Buka setiap file yang ingin Anda atur breakpoint-nya.

   1. Pada setiap titik dalam file di mana Anda ingin mengatur breakpoint, pilih area kosong di saluran di sebelah kiri nomor baris. Sebuah lingkaran merah muncul.

      Untuk menghapus breakpoint, pilih breakpoint yang ada di saluran.

      Untuk menonaktifkan breakpoint alih-alih menghapusnya, di jendela **Debugger**, di **Breakpoints**, kosongkan kotak yang sesuai dengan breakpoint yang ingin Anda nonaktifkan. Untuk mengaktifkan breakpoint lagi, pilih kotak yang Anda kosongkan.

      Untuk menonaktifkan semua breakpoint sekaligus, di jendela **Debugger**, pilih **Nonaktifkan Semua Breakpoint**. Untuk mengaktifkan semua breakpoint lagi, pilih **Aktifkan Semua Breakpoint**.

      Jika jendela **Debugger** tidak terlihat, pilih tombol **Debugger**. Jika tombol **Debugger** tidak terlihat, pada bilah menu pilih **Jendela**, **Debugger**.

1. Atur ekspresi tontonan apa pun yang ingin Anda dapatkan nilainya pada titik di mana penjalanan dijeda, sebagai berikut:

   1. Di jendela **Debugger**, di **Lihat Ekspresi**, pilih **Ketik ekspresi di sini**.

   1. Ketik ekspresi yang ingin Anda tonton, lalu tekan `Enter`.

      Untuk mengubah ekspresi tontonan yang ada, klik kanan ekspresi tontonan, lalu pilih **Edit Ekspresi Tonton**. Ketikkan perubahan, lalu tekan `Enter`.

      Untuk menghapus ekspresi tontonan yang ada, klik kanan ekspresi tontonan, lalu pilih **Hapus Ekspresi Tonton**.

1. Eksekusi kode Anda seperti yang dijelaskan di [Jalankan Kode Anda](#build-run-debug-run).

Setiap kali penjalanan dijeda, Anda juga dapat menjeda penunjuk pada bagian kode apa pun yang ditampilkan (misalnya, variabel) untuk menampilkan informasi apa pun yang tersedia tentangnya di tooltip.

# Ubah Runner Bawaan
<a name="build-run-debug-change-runner"></a>

Langkah ini menunjukkan bagaimana Anda dapat mengubah Built-in Runner untuk menjalankan (dan secara opsional, untuk men-debug) kode Anda dengan cara yang berbeda dari cara awalnya didefinisikan.

1. Pada bilah menu, pilih **Jalankan, Jalankan Dengan**, lalu pilih runner bawaan yang ingin Anda ubah.

1. Hentikan runner dari mencoba menjalankan kode Anda dengan memilih, **Hentikan** pada tab konfigurasi penjalanan yang ditampilkan.

1. Pilih **Runner: Runner saya**, di mana **Runner Saya** adalah nama runner yang ingin Anda ubah, lalu pilih **Edit Runner**.

1. Pada tab **Runner Saya.run** yang ditampilkan, ubah ketentuan runner saat ini. Lihat [Tentukan Builder atau Runner](build-run-debug-define-builder-runner.md).

1. Pilih **File, Simpan Sebagai**. Simpan file dengan nama yang sama (**My Runner.run**) di `my-environment/.c9/runners` direktori, di `my-environment` mana nama lingkungan pengembangan Anda AWS Cloud9 .

**catatan**  
Perubahan apa pun yang Anda buat pada runner internal hanya berlaku untuk lingkungan tempat Anda membuat perubahan tersebut. Untuk menerapkan perubahan ke lingkungan terpisah, buka lingkungan lain, lalu ikuti langkah sebelumnya untuk membuka, mengedit, dan menyimpan perubahan yang sama tersebut pada runner bawaan itu.

# Buat Konfigurasi Penjalanan
<a name="build-run-debug-create-run-config"></a>

Langkah ini menunjukkan bagaimana Anda dapat menjalankan runner (dan secara opsional, untuk men-debug) kode Anda dengan kombinasi kustom nama file, opsi baris perintah, mode debug, direktori kerja saat ini, dan variabel lingkungan.

Pada bilah menu, pilih **Jalankan, Konfigurasi Penjalanan, Konfigurasi Penjalanan Baru**. Pada tab konfigurasi penjalanan yang ditampilkan, lakukan hal berikut:

1. Dalam kotak di sebelah **Jalankan** dan **Mulai Ulang**, ketikkan nama yang akan ditampilkan di menu **Jalankan, Konfigurasi Penjalanan** untuk konfigurasi penjalanan ini.

1. Di kotak **Perintah**, ketikkan opsi baris perintah kustom yang ingin Anda gunakan.

1. Agar konfigurasi penjalanan ini menggunakan pengaturan debug runner yang telah ditentukan, pilih **Jalankan dalam Mode Debug**. Ikon bug akan berubah menjadi hijau dengan latar belakang putih.

1. Agar konfigurasi penjalanan ini menggunakan direktori kerja tertentu, pilih **CWD**, pilih direktori yang akan digunakan, lalu pilih **Pilih**.

1. Agar konfigurasi penjalanan ini menggunakan variabel lingkungan tertentu, pilih **ENV**, lalu ketikkan nama dan nilai setiap variabel lingkungan.

Untuk menggunakan konfigurasi penjalanan ini, buka file yang sesuai dengan kode yang ingin Anda jalankan. Pilih **Jalankan, Konfigurasi Penjalanan** pada bilah menu, dan kemudian pilih nama konfigurasi penjalanan ini. Pada tab konfigurasi penjalanan yang ditampilkan, pilih **Runner: Otomatis**, pilih runner yang ingin Anda gunakan, lalu pilih **Jalankan**.

**catatan**  
Konfigurasi penjalanan apa pun yang Anda buat hanya berlaku untuk lingkungan tempat Anda membuat konfigurasi penjalanan. Untuk menambahkan konfigurasi penjalanan tersebut ke lingkungan terpisah, buka lingkungan lain, lalu ikuti langkah sebelumnya untuk membuat konfigurasi penjalanan yang sama di lingkungan tersebut.

## Buat Builder atau Runner
<a name="build-run-debug-create-builder-runner"></a>

Langkah ini menunjukkan bagaimana Anda dapat membuat pembangun atau pelari Anda sendiri.

1. Untuk membuat builder, pada bilah menu, pilih **Jalankan, Bangun Sistem, Bangun Sistem Baru**. Untuk membuat runner, pada bilah menu, pilih **Jalankan, Jalankan Dengan, Runner Baru**.

1. Pada tab builder (berlabel **Builder Saya.build**) atau tab runner (berlabel **Runner Saya.run**) yang ditampilkan, tentukan builder atau runner. Lihat [Tentukan Builder atau Runner](build-run-debug-define-builder-runner.md).

1. Setelah Anda menentukan builder atau runner, pilih **File, Simpan Sebagai**. Untuk builder, simpan file dengan ekstensi `.build` dalam direktori `my-environment/.c9/builders`, di mana `my-environment` adalah nama lingkungan Anda. Untuk runner, simpan file dengan ekstensi file `.run` dalam direktori `my-environment/.c9/runners`, di mana `my-environment` adalah nama lingkungan Anda. Nama file yang Anda tentukan akan menjadi nama yang ditampilkan pada menu **Jalankan, Bangun Sistem** (untuk builder) atau menu **Jalankan, Jalankan Dengan** (untuk runner). Oleh karena itu, kecuali jika Anda menentukan nama file yang berbeda, secara default nama tampilan akan berupa **Builder Saya** (untuk builder) atau **Runner Saya**(untuk runner).

Untuk menggunakan builder atau runner ini, lihat [Bangun File Proyek Anda](#build-run-debug-build) atau [Jalankan Kode Anda](#build-run-debug-run).

**catatan**  
Setiap builder atau runner yang Anda buat hanya berlaku untuk lingkungan tempat Anda membuat builder atau runner tersebut. Untuk menambahkan builder atau runner penjalanan tersebut ke lingkungan terpisah, buka lingkungan lain, lalu ikuti langkah sebelumnya untuk membuat builder atau runner yang sama di lingkungan tersebut.

# Tentukan Builder atau Runner
<a name="build-run-debug-define-builder-runner"></a>

Topik ini menunjukkan bagaimana Anda dapat mendefinisikan pembangun atau pelari. Sebelum Anda menentukan pembangun atau pelari, pastikan Anda telah [membuat pembangun atau pelari](build-run-debug.md#build-run-debug-create-builder-runner).



Pada tab builder atau runner yang ditampilkan, gunakan JSON untuk menentukan runner atau builder. Mulailah dengan kode berikut sebagai templat.

Untuk builder, mulailah dengan kode ini.

```
{
  "cmd": [],
  "info": "",
  "env": {},
  "selector": ""
}
```

Untuk runner, mulailah dengan kode ini.

```
{
  "cmd": [],
  "script": "",
  "working_dir": "",
  "info": "",
  "env": {},
  "selector": "",
  "debugger": "",
  "debugport": ""
}
```

Dalam kode sebelumnya:
+  `cmd`: Merupakan daftar string yang dipisahkan koma AWS Cloud9 untuk dijalankan sebagai satu perintah.

  Saat AWS Cloud9 menjalankan perintah ini, setiap string dalam daftar akan dipisahkan oleh satu spasi. Misalnya, AWS Cloud9 akan berjalan `"cmd": [ "ls", "$file", "$args"]` sebagai`ls $file $args`, di mana AWS Cloud9 akan mengganti `$file` dengan path lengkap ke file saat ini dan `$args` dengan argumen apa pun yang dimasukkan setelah nama file. Untuk informasi selengkapnya, lihat daftar variabel yang didukung nanti di bagian ini.
+  `script`: Mewakili skrip bash (yang juga dapat ditentukan sebagai larik baris yang diperlukan agar mudah dibaca) yang dijalankan runner di terminal.
+  `working_dir`: Mewakili direktori tempat runner akan dijalankan.
+  `info`: Mewakili string teks apa pun yang ingin Anda tampilkan kepada pengguna di awal menjalankan. String ini dapat berisi variabel, misalnya`Running $project_path$file_name...`, di mana AWS Cloud9 akan menggantikan `$project_path` dengan path direktori dari file saat ini dan `$file_name` dengan bagian nama dari file saat ini. Lihat daftar variabel yang didukung nanti di bagian ini.
+  `env`: Merupakan array argumen baris perintah AWS Cloud9 untuk digunakan, misalnya:

  ```
  "env": {
    "LANG": "en_US.UTF-8",
    "SHLVL": "1"
  }
  ```
+  `selector`: Merupakan ekspresi reguler apa pun yang AWS Cloud9 ingin Anda gunakan untuk mengidentifikasi nama file yang berlaku untuk pelari ini. Misalnya, Anda dapat menentukan `source.py` untuk file Python.
+  `debugger`: Merupakan nama debugger yang tersedia yang AWS Cloud9 ingin Anda gunakan yang kompatibel dengan runner ini. Misalnya, Anda dapat menentukan `v8` untuk debugger V8.
+  `debugport`: Merupakan nomor port yang AWS Cloud9 ingin Anda gunakan selama debugging. Misalnya, Anda dapat menentukan `15454` untuk nomor port yang akan digunakan.

Tabel berikut menunjukkan variabel yang dapat Anda gunakan.


****  

|  **Variabel**  |  **Deskripsi**  | 
| --- | --- | 
|   `$file_path`   |  Direktori dari file saat ini, misalnya, `/home/ec2-user/environment` atau `/home/ubuntu/environment`.  | 
|   `$file`   |  Jalur lengkap ke file saat ini, misalnya, `/home/ec2-user/environment/hello.py` atau `/home/ubuntu/environment/hello.py`.  | 
|   `$args`   |  Argumen apa pun yang dimasukkan setelah nama file, misalnya, `"5" "9"`.  | 
|   `$file_name`   |  Bagian nama file saat ini, misalnya, `hello.py`.  | 
|   `$file_extension`   |  Ekstensi file saat ini, misalnya, `py`.  | 
|   `$file_base_name`   |  Nama file saat ini tanpa ekstensi file, misalnya, `hello`.  | 
|   `$packages`   |  Jalur lengkap ke folder paket.  | 
|   `$project`   |  Jalur lengkap ke folder proyek saat ini.  | 
|   `$project_path`   |  Direktori file proyek saat ini, misalnya, `/home/ec2-user/environment/` atau `/home/ubuntu/environment/`.  | 
|   `$project_name`   |  Nama file proyek saat ini tanpa ekstensi file, misalnya, `my-demo-environment`.  | 
|   `$project_extension`   |  Ekstensi file proyek saat ini.  | 
|   `$project_base_name`   |  Nama file proyek saat ini tanpa ekstensi.  | 
|   `$hostname`   |  Nama host lingkungan, misalnya, `192.0.2.0`.  | 
|   `$hostname_path`   |  Nama host lingkungan dengan jalur relatif ke file proyek, misalnya, `https://192.0.2.0/hello.js`.  | 
|   `$url`   |  URL lengkap untuk mengakses lingkungan, misalnya, `https://192.0.2.0.`.  | 
|   `$port`   |  Port yang ditetapkan ke lingkungan, misalnya, `8080`.  | 
|   `$ip`   |  Alamat IP untuk menjalankan proses terhadap lingkungan, misalnya, `0.0.0.0`.  | 

Sebagai contoh, file builder berikut bernama `G++.build` mendefinisikan builder untuk GCC yang menjalankan perintah ** `g++` ** dengan opsi `-o` untuk mengompilasi file saat ini (misalnya, `hello.cpp`) ke dalam modul objek. Kemudian menautkan modul objek ke dalam program dengan nama yang sama dengan file saat ini (misalnya, `hello`). Berikut perintah setara adalah `g++ -o hello hello.cpp`.

```
{
  "cmd": [ "g++", "-o", "$file_base_name", "$file_name" ],
  "info": "Compiling $file_name and linking to $file_base_name...",
  "selector": "source.cpp"
}
```

Sebagai contoh lain, file runner berikut bernama `Python.run` mendefinisikan runner yang menggunakan Python untuk menjalankan file saat ini dengan argumen apa pun yang disediakan. Misalnya, jika file saat ini diberi nama `hello.py` serta argumen `5` dan `9` telah disediakan, perintah yang setara adalah `python hello.py 5 9`.

```
{
  "cmd": [ "python", "$file_name", "$args" ],
  "info": "Running $file_name...",
  "selector": "source.py"
}
```

Akhirnya, file runner berikut bernama `Print Run Variables.run` mendefinisikan runner yang hanya mengeluarkan nilai dari setiap variabel yang tersedia dan kemudian berhenti.

```
{
  "info": "file_path = $file_path, file = $file, args = $args, file_name = $file_name, file_extension = $file_extension, file_base_name = $file_base_name, packages = $packages, project = $project, project_path = $project_path, project_name = $project_name, project_extension = $project_extension, project_base_name = $project_base_name, hostname = $hostname, hostname_path = $hostname_path, url = $url, port = $port, ip = $ip"
}
```