> ## Documentation Index
> Fetch the complete documentation index at: https://v1-learn.neoartd.my.id/llms.txt
> Use this file to discover all available pages before exploring further.

# One-liner

Selain membangun kode berdasarkan bloknya, Anda juga dapat membuat sebuah kode hanya dalam satu baris saja atau berupa *single statement*. Konsep ini dikenal sebagai *one-liner*.

*One-liner* merupakan gaya penulisan pada Python yang memungkinkan Anda untuk membuat sebuah kode hanya dalam satu baris. *One-liner* adalah salah satu keunggulan dalam Python yang susah untuk diimplementasikan bagi beberapa bahasa pemrograman lainnya.

Tujuan dari *one-liner* ini adalah membuat satu baris kode yang singkat dan jelas. Perlu diingat bahwa tidak semua kode blok dapat dijadikan *one-liner*, seperti deklarasi fungsi, modul, dan kelas.

Perhatikan kode di bawah ini yang merupakan program untuk menukar dua variabel menggunakan cara yang umum dilakukan.

```python:line-numbers theme={null}
x = 1
y = 2

temp = x
x = y
y = temp

print("Setelah pertukaran: ")
print("x = ", x)
print("y =",  y)

"""
Output:
Setelah pertukaran:
x = 2
y = 1
"""
```

Mari bedah kode tersebut.

1. Anda menginisialisasi variabel x dengan nilai 1 dan variabel y dengan nilai 2.
2. Anda menginisialisasi variabel temp dengan nilainya adalah variabel x. Hal ini menyebabkan variabel temp memiliki nilai 1.
3. Anda menginisialisasi variabel x dengan nilai baru, yakni variabel y. Hal ini menyebabkan nilai dari variabel x menjadi 2.
4. Anda menginisialisasi variabel y dengan nilai baru, yakni variabel temp. Hal ini menyebabkan nilai dari variabel y menjadi 1.
5. Proses penukaran variabel telah selesai. Selanjutnya, Anda menampilkan nilai pada variabel tersebut dengan sintaks "print()".

Mungkin Anda bertanya, mengapa variabel x dan y bisa berubah? Ingat konsep aksi sekuensial, program akan menjalankan kode tersebut baris per baris. Jadi, nilai dari variabel x dan y setelah inisialisasi pertama akan berubah karena pada sintaks berikutnya Anda menetapkan nilai baru pada variabel x dan y. Anda menggunakan variabel bantuan, yakni variabel "temp" untuk menyimpan nilai awal dari variabel x.

Mari buat gambaran tersebut lebih sederhana dengan menggunakan contoh dalam kehidupan sehari-hari. Simak analogi berikut.

Di bawah ini terdapat tiga gelas kosong yang akan diisi dengan kelereng. Anda bisa asumsikan gelas dengan variabel x disebut sebagai gelas x dan seterusnya.

[![dos:d60c9bc7023030202700e34fc3b2900520230807143127.jpeg](https://dicoding-web-img.sgp1.cdn.digitaloceanspaces.com/original/academy/dos:d60c9bc7023030202700e34fc3b2900520230807143127.jpeg)](# "dos:d60c9bc7023030202700e34fc3b2900520230807143127.jpeg")

Selanjutnya, perhatikan gambar bergerak (GIF) berikut.

[![dos:7cc181bfb154ca0d07ecea461cea49fb20230807143226.gif](https://dicoding-web-img.sgp1.cdn.digitaloceanspaces.com/original/academy/dos:7cc181bfb154ca0d07ecea461cea49fb20230807143226.gif)](# "dos:7cc181bfb154ca0d07ecea461cea49fb20230807143226.gif")

Mari kita bedah langkahnya satu per satu.

1. Langkah pertama, gelas x diisi dengan 1 kelereng dan gelas y diisi dengan 2 kelereng; sedangkan, gelas temp kosong.
2. Langkah kedua, kelereng dari gelas x dipindahkan ke gelas temp. Hal ini menyebabkan gelas temp terisi 1 kelereng, sedangkan gelas x menjadi kosong.
3. Langkah ketiga, akibat gelas x kosong, Anda memindahkan 2 kelereng yang berada pada gelas y ke gelas x. Hal ini menyebabkan gelas y menjadi kosong.
4. Langkah keempat,  gelas y kosong sehingga kelereng yang berada pada gelas temp dipindahkan ke gelas y.

Dengan begitu, Anda telah memindahkan posisi kelereng pada gelas x dan gelas y.

*Phew*, cukup memakan tenaga, ya. Namun, tahukah Anda kalau ada kode *one-liner* yang dapat memudahkan Anda untuk melakukan operasi menukar dua variabel ini? Berikut adalah kodenya.

```python:line-numbers theme={null}
x = 1
y = 2

x, y = y, x    # One-liner

print('Setelah pertukaran: ')
print('x =', x)
print('y =', y)



"""
Output:
Setelah pertukaran:
x = 2
y = 1
"""
```

Kode di atas memiliki tujuan yang sama dengan kode sebelumnya, yakni menukar dua variabel. Namun, pada kode program di atas, Anda menggunakan teknik *one-liner* untuk melakukan operasi tersebut.

[![dos:8eb35fda178c21fc1f89c6da95e9172b20230807143127.jpeg](https://dicoding-web-img.sgp1.cdn.digitaloceanspaces.com/original/academy/dos:8eb35fda178c21fc1f89c6da95e9172b20230807143127.jpeg)](# "dos:8eb35fda178c21fc1f89c6da95e9172b20230807143127.jpeg")

Pada kode di atas, Anda seolah-olah menginisialisasikan ulang variabel x dengan nilai variabel y di sebelah kanan. Anda juga menginisialisasikan ulang variabel y dengan nilai variabel x yang ada di sebelah kanan. Sederhana, bukan? Dengan menginisialisasikan ulang variabel masing-masing, nilai tersebut pada akhirnya bisa saling bertukar.

Hal yang Anda pelajari sekarang merupakan salah satu penerapan *one-liner*. Ke depannya banyak sekali materi pada Python yang memiliki versi *one-liner*-nya. Anda dapat membaca penjelasan detail mengenai *one-liner* pada link [berikut](https://wiki.python.org/moin/Powerful%20Python%20One-Liners).
