Variabel#

Perkenalan#

Variabel menyimpan data dan memungkinkan Anda untuk menggunakan kembali dan memanipulasinya di seluruh program Anda. Python adalah bahasa pemrograman dengan tipe data dinamis, artinya Anda tidak perlu mendeklarasikan tipe variabel secara eksplisit. Sebaliknya, tipenya secara otomatis disimpulkan berdasarkan nilai yang diberikan kepadanya. Misalnya:

angle = 90           # angle is an integer
dist = "Distance: "  # dist is a string
steps = 2.5          # steps is a float

Python juga merupakan sistem pengetikan yang ketat, yang berarti Anda tidak dapat melakukan operasi pada tipe yang tidak kompatibel tanpa mengonversinya secara eksplisit. Misalnya:

controller = 1                 # controller is an integer
modules = "3"                  # modules is a string
result = controller + modules  # Creates a TypeError

Untuk mengatasi masalah tersebut, Anda harus secara eksplisit mengkonversi tipe data, jika diperlukan:

controller = 1                 # controller is an integer
modules = "3"                  # modules is a string

# Convert modules to an integer before adding.
result = int(modules) + controller

API ini menjelaskan tipe variabel umum di Python. Meskipun bukan daftar lengkap, API ini mencakup tipe yang paling mungkin Anda gunakan dalam praktik.

  • Variabel lokal – Dideklarasikan di dalam fungsi dan hanya digunakan dalam lingkup tersebut; paling cocok untuk nilai sementara atau terisolasi.

  • Variabel global – Dideklarasikan di luar fungsi apa pun dan digunakan di seluruh proyek; berguna untuk berbagi data antar fungsi.

  • Bilangan Bulat – Bilangan bulat yang digunakan untuk menghitung, jarak, atau apa pun tanpa desimal.

  • Float – Angka dengan titik desimal, berguna untuk pengukuran atau perhitungan yang tepat.

  • String – Nilai teks, digunakan untuk pesan, label, atau menampilkan output yang mudah dibaca.

  • Boolean – True atau False nilai untuk logika dan pengambilan keputusan.

  • NoneType – Menunjukkan tidak adanya nilai dalam Python.

  • Rentang – Secara otomatis menghasilkan urutan angka, paling sering digunakan dalam perulangan.

  • Daftar – Koleksi item yang dapat diubah; cocok untuk menyimpan kelompok nilai seperti objek atau pembacaan sensor.

  • Daftar 2D – Daftar berisi daftar; ideal untuk merepresentasikan baris, grid, atau data seperti tabel.

  • Tuple – Urutan nilai tetap yang tidak dapat diubah; berguna untuk data yang dikelompokkan dan tidak berubah.

Mendeklarasikan dan Menetapkan Nilai pada Variabel#

Untuk membuat variabel, cukup berikan nilai pada sebuah nama menggunakan operator =:

distance = 100

Saat memberi nama variabel, aturan berikut harus dipatuhi:

  • Nama tersebut tidak boleh mengandung karakter khusus (misalnya, tanda seru).

  • Nama tersebut tidak boleh diawali dengan angka.

  • Nama tersebut tidak boleh menggunakan spasi.

  • Nama tersebut tidak boleh berupa kata yang dipesan dalam VEXcode (misalnya Drivetrain).

Local Variables#

Variabel lokal didefinisikan di dalam sebuah fungsi atau blok kode. Variabel ini hanya dapat diakses dalam lingkup fungsi atau blok tersebut dan tidak terlihat di luar lingkup tersebut.

def show_local():
    # This variable only exists inside this function.
    message = "I'm local!" 
    controller.screen.print(message)

show_local()

Variabel lokal umumnya digunakan untuk menyimpan nilai sementara yang hanya relevan dalam fungsi atau bagian program tertentu.

Global Variables#

Variabel global didefinisikan di luar fungsi atau blok apa pun. Variabel ini dapat diakses dan dibaca di mana saja dalam program, termasuk di dalam fungsi.

Catatan: Variabel global dapat digunakan di mana saja dalam proyek Anda. Ini bisa bermanfaat, tetapi juga dapat mempersulit pencarian bug. Jika nilainya berubah, Anda mungkin perlu memeriksa banyak bagian proyek untuk melihat di mana perubahannya. Gunakan variabel lokal hanya jika satu fungsi membutuhkan nilai tersebut.

# The variable is defined outside a function.
message = "I'm global!"  

def show_global():
    # You can access 'message' inside a function.
    controller.screen.print(message)
    controller.screen.next_row()

show_global()
# And you can access 'message' outside a function.
controller.screen.print(message)

Secara default, pemberian nilai pada variabel di dalam fungsi akan membuat variabel lokal. Untuk memodifikasi variabel global di dalam fungsi, Anda harus secara eksplisit mendeklarasikannya menggunakan kunci .

# Define the global variable.
count = 0 

def increase_count():
    # Use the global keyword to let you modify the
    # global variable.
    global count
    count = count + 1
    controller.screen.print(f"Count: {count}")
    controller.screen.next_row()

increase_count()
increase_count()

Jenis Data#

Variabel Python dapat menyimpan berbagai jenis data, masing-masing sesuai untuk kasus penggunaan yang berbeda. Berikut adalah jenis-jenis yang paling umum digunakan:

Integer#

Bilangan bulat adalah bilangan positif atau negatif.

distance = 50

drone.take_off(climb_to=500)
# Move the robot forward for the variable value in mm.
drone.climb_for(direction=DOWN, distance=distance, velocity=50, units=MM)
wait(2, SECONDS)

# Add to the variable and move forward the new value, 
# for 100mm total.
distance = distance + 50
drone.climb_for(direction=UP, distance=distance, velocity=50, units=MM)
wait(2, SECONDS)

drone.land()

Float#

Bilangan float adalah bilangan dengan titik desimal.

# Store a value with decimal points.
raw_value = 0.88

# Print the decimal value as a percentage.
controller.screen.print(raw_value * 100, "%")

String#

String adalah rangkaian karakter, yang umumnya digunakan untuk teks.

# Set the variable to a string then print the string.
message = "Ready!"
controller.screen.print(message)

Catatan: Sebuah string harus selalu diapit oleh tanda kutip yang sesuai, baik tunggal ( ’ ) atau ganda ( ” ). Anda dapat menggunakan salah satu gaya tersebut, tetapi tanda kutip pembuka dan penutup harus sama.

Boolean#

Tipe data Boolean merepresentasikan nilai True (Salah), False Salah).

# Set the state of the variable.
delivered = False

# Print different messages depending on the Boolean.
if delivered:
    controller.screen.print("Package delivered!")
else: 
    controller.screen.print("Delivering...")

Nilai Boolean dapat diubah kapan saja selama proyek berlangsung.

# Print the value of the delivered variable
delivered = True
controller.screen.print(delivered)
wait(2,SECONDS)

# Clear the screen and print the value of the variable again
controller.screen.clear_screen(color=GREEN)
delivered = False
controller.screen.print(delivered)

NoneType#

NoneType mewakili ketiadaan nilai dalam Python.

# Write what the controller's task should be as a string
current_task = None

# Check if a task is assigned
if current_task is None:
    controller.screen.print("No task!")
else:
    controller.screen.print(f"Task: {current_task}")

Range#

Rentang adalah urutan angka, yang biasanya digunakan dalam perulangan untuk menghasilkan urutan angka. Formatnya adalah:

range(start, stop, step)

Komponen

Keterangan

start

Opsional. Nilai awal bersifat inklusif (urutan dimulai di sini). Nilai default adalah 0.

stop

Nilai berhenti bersifat eksklusif (urutan berhenti sebelum angka ini).

step

Opsional. Langkah ini menentukan seberapa besar setiap angka bertambah (atau berkurang). Nilai default adalah 1.

# Move back and forth four times then land.
drone.take_off(climb_to=500)
for i in range(4):
    drone.move_for(direction=0, distance=500, velocity=50, units=MM)
    wait(1, SECONDS)
    drone.move_for(direction=180, distance=500, velocity=50, units=MM)
    wait(1, SECONDS)
drone.land()

# Count by 2 starting at 1 and ending before 12.
for index in range(1, 12, 2): 
    # Print the values on the screen with each loop.
    controller.screen.print(index)
    controller.screen.next_row()

List#

Sebuah list menyimpan sekelompok item dalam satu variabel. Anda dapat menambahkan item, menghapus item, mengubah item, atau menggunakan setiap item satu per satu dalam proyek Anda. List berguna ketika Anda ingin menyimpan nilai-nilai terkait bersama-sama, seperti pembacaan sensor, warna, atau nama objek. List dibuat menggunakan tanda kurung siku [].

# Define a list of colors.
colors = ["Red", "Green", "Blue"]

# Repeat for the number of items in the colors list.
for color in colors:
    # Print each color in order
    controller.screen.print(color)
    controller.screen.next_row()

Gunakan append untuk menambahkan item ke dalam daftar.

# Define a list of colors.
colors = ["Red", "Green", "Blue"]

# Append a new color to the list.
colors.append("Yellow")

# Repeat for the number of items in the colors list.
for color in colors:
    # Print each color in order
    controller.screen.print(color)
    controller.screen.next_row()

2D List#

Daftar 2D, atau daftar dari daftar, umumnya digunakan untuk merepresentasikan grid, tabel, atau matriks. Setiap subdaftar merepresentasikan satu baris atau pengelompokan data tertentu.

# Assign the values in the matrix 2D list.
matrix = [
    ["A", 1, "Red"],
    ["B", 2, "Orange"],
    ["C", 3, "Yellow"]
]
# Loop through each row.
for row in matrix: 
    # Loop through each column in the row.
    for element in row: 
        controller.screen.print(element, end=", ")
    controller.screen.next_row()

Anda dapat memodifikasi elemen tertentu atau bahkan seluruh subdaftar dalam daftar 2D:

# Assign the values in the matrix 2D list.
matrix = [
    ["A", 1, "Red"],
    ["B", 2, "Orange"],
    ["C", 3, "Yellow"]
]
# Modify the color (in column 2) in row 0.
matrix[0][2] = "Blue"

# Print the modified row from the matrix 2D list.
controller.screen.print(matrix[0])

Tuple#

Tuple adalah urutan item yang tidak dapat diubah setelah dibuat. Tuple sering digunakan untuk mengelompokkan nilai-nilai yang terkait.

# Define a tuple.
set_1 = (100, "Left")

# Print the tuple.
controller.screen.print(set_1)

Tuple dibuat menggunakan tanda kurung () bukan tanda kurung siku [].