Lewati ke konten utama

Tutorial Fungsi Python range()

Pelajari fungsi Python range() dan kemampuannya dengan bantuan contoh.
Diperbarui 5 Jun 2026  · 7 mnt baca

Fungsi range() sangat populer dan banyak digunakan di Python, terutama saat Anda bekerja dengan loop for, dan terkadang juga dengan loop while. Fungsi range() layak untuk dipahami dan dikuasai karena akan membuka banyak peluang: range() digunakan mulai dari mengendalikan alur program hingga melakukan iterasi pada himpunan data yang Anda gunakan untuk analisis data. 

Jika Anda baru mulai belajar Python dan ingin mendalami lebih jauh, ikuti kursus DataCamp Introduction to Data Science in Python.

Apa itu Fungsi range() di Python?

Fungsi range() mengembalikan sebuah urutan angka dan bersifat immutable, artinya nilainya tetap. Fungsi range() menerima satu atau maksimal tiga argumen, yaitu nilai start dan stop beserta ukuran step.

range() diperkenalkan di Python3. Di Python2, digunakan fungsi serupa, xrange(), yang perilakunya agak berbeda. Antara lain, xrange() mengembalikan objek generator dan menggunakan lebih sedikit memori, sementara range(), di sisi lain, mengembalikan daftar atau urutan angka.

Sebagian alasan mengapa fungsi range() berguna adalah karena ia hanya menyimpan nilai start, stop, dan step, sehingga menggunakan lebih sedikit memori dibandingkan daftar atau tuple.

Sintaks Fungsi Python range()

Fungsi range() dapat direpresentasikan dalam tiga cara berbeda, atau Anda dapat menganggapnya sebagai tiga parameter range():

  • range(stop_value): Secara default, titik awalnya adalah nol.
  • range(start_value, stop_value): Ini menghasilkan urutan berdasarkan nilai awal dan akhir.
  • range(start_value, stop_value, step_size): Ini menghasilkan urutan dengan menambahkan nilai awal menggunakan ukuran langkah hingga mencapai nilai akhir.
Contoh fungsi range di Python
Fungsi Python range(). Gambar oleh Penulis. 

Kita juga dapat memeriksa tipe dari fungsi range() dengan membungkus range() dalam type().

my_range = range(100)
print(type(my_range))

# Expected output: <class 'range'>

Contoh Fungsi Python range()

Sekarang mari kita lihat beberapa contoh agar Anda dapat berlatih dan menguasai penggunaan range().

Menggunakan Python range() untuk mencetak urutan angka

Mulailah dengan contoh sederhana mencetak urutan sepuluh angka, yang akan mencakup parameter range() pertama Anda. Untuk mencapainya, Anda hanya akan meneruskan nilai stop. Karena Python menggunakan indeks berbasis nol, urutan akan dimulai dari nol dan berhenti pada angka yang ditentukan, yaitu n-1, di mana n adalah angka yang ditentukan dalam fungsi range().

my_range = range(10)

for num in my_range:
	print(num)

# Expected output:
# 0
# 1
# 2
# 3
# 4
# 5
# 6
# 7
# 8
# 9

Sesuai perkiraan, sel di atas mengembalikan urutan angka yang dimulai dari 0 dan berakhir pada 9.

Menggunakan Python range() dengan list()

Anda juga dapat menggunakan fungsi range sebagai argumen untuk list, yang akan menghasilkan sebuah list angka dengan panjang sama dengan nilai stop seperti ditunjukkan di bawah ini:

my_range = list(range(10))
print(my_range)

range_length = len(my_range)
print(range_length)

# Expected output:
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# 10

Memanfaatkan start, stop, dan step dalam Python range()

Selanjutnya, mari lihat cara lain bekerja dengan fungsi range(). Di sini Anda akan menentukan nilai start dan stop.

my_range = range(5, 10)
print(my_range)

# Expected output: range(5, 10)
for num in range(5,10):
    print(num)

# Expected output:
# 5
# 6
# 7
# 8
# 9

Demikian pula, Anda dapat menggunakan fungsi range() untuk mencetak nilai bilangan bulat negatif.

for num in range(-5,0):
    print(num)

# Expected output:
# -5
# -4
# -3
# -2
# -1

Sekarang mari tambahkan parameter ketiga, yaitu ukuran step pada fungsi range(), dan cari tahu bagaimana pengaruhnya terhadap output. Anda akan menentukan titik start sebagai 50, nilai stop sebagai 1000 dengan ukuran step 100. Fungsi range di bawah ini akan menghasilkan urutan yang dimulai dari 50 dan bertambah dengan langkah 100.

my_range = range(50,1000,100)
print(my_range)

# Expected output: range(50, 1000, 100)

Anda akan melihat bahwa ini akan mencetak semua bilangan genap.

for num in range(50,1000,100):
    print(num)

# Expected output:
# 50
# 150
# 250
# 350
# 450
# 550
# 650
# 750
# 850
# 950

Catatan tentang Python range() dan nilai float

Penting untuk dicatat bahwa fungsi range() hanya dapat bekerja ketika nilai yang ditentukan adalah bilangan bulat. Fungsi ini tidak mendukung tipe data float maupun string. Namun, Anda dapat meneruskan nilai bilangan bulat positif maupun negatif. Mari lihat apa yang terjadi saat Anda mencoba meneruskan nilai float.

for num in range(0.2,2.4):
    print(num)

# Expected output:
# TypeError: 'float' object cannot be interpreted as an integer

Anda mungkin pernah menggaruk kepala saat mencoba membalik linked list berisi nilai bilangan bulat dalam bahasa C. Namun, di Python, ini dapat dicapai dengan fungsi range() hanya dengan menukar start dan stop serta menambahkan ukuran langkah negatif. Bukankah itu sederhana? Mari kita buktikan!

for num in range(100,10,-10):
    print(num)

# Expected output:
# 100
# 90
# 80
# 70
# 60
# 50
# 40
# 30
# 20

Menggunakan range() untuk mencari jumlah elemen sebuah list

Misalkan Anda memiliki sebuah list berisi nilai bilangan bulat, dan Anda ingin mencari jumlah (sum) dari list tersebut, tetapi menggunakan fungsi range(). Mari kita lihat bagaimana caranya.

Pertama, Anda akan mendefinisikan list yang berisi nilai bilangan bulat. Lalu inisialisasi sebuah penghitung tempat Anda menyimpan nilai setiap kali mengiterasi list dan menambahkan nilai list saat ini dengan nilai hitungan sebelumnya.

Untuk mengakses elemen dari list, Anda akan menerapkan fungsi range() pada length list dan kemudian mengakses elemen list dengan meneruskan indeks i yang akan dimulai dari nol dan berhenti pada panjang list.

list1 = [2,4,6,8,10,12,14,16,18,20]
count = 0

for i in range(len(list1)):
    count = count + list1[i]
    print(count)
print('sum of the list:', count)

# Expected output:
# 2
# 6
# 12
# 20
# 30
# 42
# 56
# 72
# 90
# 110
# sum of the list: 110

Menggunakan range() dengan itertools untuk menggabungkan list

Anda juga dapat menggabungkan dua atau lebih fungsi range() menggunakan kelas paket itertools bernama chain. Dan bukan hanya fungsi range, Anda juga bisa menggabungkan list, tuple, dll. Ingat bahwa metode chain mengembalikan objek generator, dan untuk mengakses elemen dari objek generator tersebut, Anda bisa menggunakan loop for atau menggunakan list dan meneruskan objek generator sebagai argumen.

from itertools import chain

a1 = range(10,0,-2)
a2 = range(30,20,-2)
a3 = range(50,40,-2)

final = chain(a1,a2,a3)

print(final) #generator object

# Expected output: <itertools.chain object at 0xae6330>
print(list(final))

# Expected output:
# [10, 8, 6, 4, 2, 30, 28, 26, 24, 22, 50, 48, 46, 44, 42]

Python range() dan perbandingan kesetaraan

Anda dapat menerapkan perbandingan kesetaraan antar fungsi range(). Diberikan dua fungsi range(), jika keduanya merepresentasikan urutan nilai yang sama, maka keduanya dianggap sama. Meski demikian, dua fungsi range() yang sama tidak harus memiliki atribut start, stop, dan step yang sama. Mari pahami dengan contoh.

# range(0, 10, 3) = [0, 3, 6, 9]
# range(0, 11, 3) = [0, 3, 6, 9]

print(range(0, 10, 3) == range(0, 11, 3))

# Expected output: True
# range(0, 10, 3) = [0, 3, 6, 9]
# range(0, 11, 2) = [0, 2, 4, 6, 8, 10]

print(range(0, 10, 3) == range(0, 11, 2))

# Expected output: False

Seperti yang dapat Anda lihat dari output di atas, meskipun parameter fungsi range() berbeda, keduanya tetap dianggap sama karena urutan dari kedua fungsi tersebut sama. Pada contoh kedua, mengubah ukuran step membuat perbandingan menjadi False.

Kesimpulan

Selamat telah menyelesaikan tutorial ini. Anda mungkin ingin bereksperimen sedikit dengan fungsi range() dan mencari cara untuk menyesuaikannya agar dapat menerima tipe data selain bilangan bulat.

Jika setelah membaca Anda merasa akan terbantu dengan berlatih fungsi-fungsi Python, lihat tutorial kami Python Functions dan Beginner's Guide to Python for Loops. Untuk jalur belajar terstruktur, lihat kursus DataCamp Writing Efficient Python Code, yang tidak hanya membahas fungsi range() secara mendalam tetapi juga membantu konsep pemrograman yang lebih umum agar Anda dapat menulis kode yang benar-benar efisien tanpa banyak overhead. 

Topik

Pelajari lebih lanjut tentang Python

Kursus

Kotak Perkakas Python

4 Hr
317.8K
Lanjutkan membangun keterampilan Data Science modern Anda dengan mempelajari tentang iterator dan list comprehension.
Lihat DetailRight Arrow
Mulai Kursus
Lihat Lebih BanyakRight Arrow
Terkait

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

Lihat Lebih BanyakLihat Lebih Banyak