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:

red_tiles = 2                       # red_tiles is an integer
green_tiles = "4"                   # green_tiles is a string
result = red_tiles + green_tiles    # Creates a TypeError

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

red_tiles = 2       # red_tiles is an integer
green_tiles = "4"   # green_tiles is a string

# Convert green_tiles to an integer before adding
result = int(green_tiles) + red_tiles

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 = 3

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, robot).

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!" 
    console.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
    console.print(message)
    console.new_line()

show_global()
# And you can access 'message' outside a function
console.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
    console.print("Count: {}".format(count))

increase_count()
console.new_line()
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.

steps = 3

# Drive forward for the variable value in steps
robot.drive_for(FORWARD, steps, STEPS)

# Add to the variable and drive forward the new value
wait(1, SECONDS)
steps = steps + 1
robot.drive_for(FORWARD, steps, STEPS)

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
console.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!"
console.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:
    console.print("Package delivered!")
else: 
    console.print("Delivering...")

Nilai Boolean dapat diubah kapan saja selama proyek berlangsung.

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

# Clear the screen and print the value of the variable again
console.clear()
delivered = False
console.print(delivered)

NoneType#

NoneType mewakili ketiadaan nilai dalam Python.

# No task is assigned yet
current_task = None

# Check if a task is assigned
if current_task is None:
    console.print("No task!")
else:
    console.print("Task: {}".format(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.

# Drive and turn 4 times to move in a square
for index in range(4):
    robot.drive_for(FORWARD, 1, STEPS)
    robot.turn_for(RIGHT, 90)

# 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
    console.print(index)
    console.new_line()

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", "Purple"]

# Repeat for the number of items in the colors list
for index in colors:
    # Print each color in order
    console.print(index)
    console.new_line()

Gunakan append untuk menambahkan item ke dalam daftar.

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

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

# Repeat for the number of items in the colors list
for index in colors:
    # Print each color in order
    console.print(index)
    console.new_line()

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: 
        console.print(element, ", ")
    console.new_line()

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 
console.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 = (3, "Left")

# Print the tuple
console.print(set_1)

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