Menu

13 Proyek Python Mudah untuk Tingkatkan Rasa Percaya Dirimu

Coddy Team

Coddy Team

· 10 menit baca

Kamu baru saja menyelesaikan tutorial. Kamu mengetik setiap baris kode, menjalankan setiap contoh, dan melihat semuanya berjalan lancar. Lalu, kamu membuka editor kosong untuk membuat sesuatu sendiri, dan tiba-tiba tidak ada ide sama sekali. Satu pun tidak ada.

Hampir setiap pemula terjebak dalam jebakan tutorial (biasanya tepat setelah menyelesaikan kelas Python pertama mereka). Kamu bisa saja membaca tentang perulangan for seharian, tapi begitu tidak ada yang memberi tahu apa yang harus diketik, otakmu langsung buntu.

Tahu seperti apa bentuk kode dan menulisnya sendiri adalah dua keahlian yang sangat berbeda. Cara untuk menjembatani keduanya adalah dengan membuat sesuatu. Sendiri.

Dan tenang saja, programnya tidak harus berguna. Kamu tidak sedang merilis aplikasi atau berkontribusi di proyek open source. Kamu hanya butuh program-program kecil dan sederhana yang bisa berjalan, satu demi satu, sampai otakmu tidak buntu lagi.

Untuk itulah artikel ini dibuat. Di bawah ini ada 13 proyek Python sederhana, yang masing-masing bisa diselesaikan dalam waktu 10 menit hingga satu jam. Setiap proyek mengajarkan satu atau dua hal saja, tidak lebih. Dan setiap proyek akan menghasilkan file yang berjalan di komputermu sendiri, yang ditulis olehmu sendiri.

Belum siap untuk mulai membuat proyek? Jangan khawatir! Setiap perjalanan hebat dimulai dari dasar. Pelajari dasar-dasar komputer dan bangun fondasi yang kuat sebelum melangkah ke tahap berikutnya.

Mengapa Harus Membuat Proyek Sendiri Alih-alih Menonton Tutorial?

Karena menonton tutorial terasa seperti sedang belajar, padahal tutorial tersebut yang berpikir untukmu. Dengan membuat proyek sendiri, kamulah yang mengambil keputusan. Kamu harus memberi nama variabel, memilih perulangan yang tepat, dan mencari tahu mengapa kodemu mencetak None alih-alih angka yang kamu inginkan.

Proyek kecil juga bisa mengatasi masalah motivasi. Proyek berdurasi dua minggu terdengar keren, sampai akhirnya kamu jenuh dan tidak pernah menyelesaikannya. Sedangkan proyek 30 menit bisa selesai hari ini juga. Kamu mendapatkan file yang berfungsi dan sebuah pencapaian kecil, dan pencapaian itulah yang membuatmu ingin membuka editor lagi besok.

Proyek Python Sederhana untuk Membangun Rasa Percaya Dirimu.webp

1. Game Tebak Angka

Game klasik. Komputer memilih angka antara 1 dan 100, lalu kamu menebaknya. Komputer akan memberi tahu apakah tebakanmu "terlalu tinggi" atau "terlalu rendah" sampai kamu berhasil menebaknya dengan benar. Ini adalah program nyata pertama bagi sebagian besar programmer, dan ada alasan bagus untuk itu.

import random

secret = random.randint(1, 100)
guesses = 0

while True:
 guess = int(input("Guess a number (1-100): "))
 guesses += 1
 if guess < secret:
 print("Too low")
 elif guess > secret:
 print("Too high")
 else:
 print(f"Got it in {guesses} guesses")
 break

Apa yang kamu pelajari: perulangan while, kondisi (conditionals), module random, dan mengubah input menjadi angka. Setelah berhasil, tambahkan batas maksimum tebakan agar game berakhir jika kamu tidak bisa menebaknya tepat waktu.

2. Generator Mad Libs

Minta pengguna memasukkan beberapa kata, seperti kata benda, kata kerja, atau kata sifat, lalu masukkan kata-kata tersebut ke dalam kalimat yang lucu dan cetak hasilnya. Hanya butuh sepuluh menit dari awal sampai selesai.

noun = input("Noun: ")
verb = input("Verb: ")
adjective = input("Adjective: ")
place = input("A place: ")

story = f"Yesterday I went to the {place} and saw a {adjective} {noun} that started to {verb}."
print(story)

Apa yang kamu pelajari: f-string, menerima beberapa input berturut-turut, dan menyusun string dari variabel. Proyek ini mudah dikembangkan nantinya dengan cerita yang lebih panjang atau daftar template yang dipilih secara acak.

3. Pelempar Dadu

Lempar satu dadu. Lempar dua dadu. Lempar dadu bersisi 20 untuk malam permainan. Hanya butuh dua baris logika, dan sisanya bebas kamu kembangkan sendiri.

import random

def roll(sides=6, count=1):
 return [random.randint(1, sides) for _ in range(count)]

print(roll(6, 2)) # rolls two six-sided dice
print(roll(20)) # rolls one d20

Apa yang kamu pelajari: fungsi dengan nilai default, list comprehension, dan memanggil fungsi yang sama dengan input berbeda. Setelah berhasil, tambahkan menu sederhana agar pengguna bisa memilih jumlah sisi dan jumlah dadu saat menjalankannya.

4. Kalkulator Sederhana

Penjumlahan, pengurangan, perkalian, pembagian. Dua angka, satu operator. Ya, kalkulator memang sudah ada di mana-mana. Tapi bukan itu intinya. Intinya adalah menghubungkan bagian-bagian kode itu sendiri dan menyadari apa yang terlewat pada percobaan pertama.

def calc(a, b, op):
 if op == "+": return a + b
 if op == "-": return a - b
 if op == "*": return a * b
 if op == "/":
 if b == 0:
 return "Can't divide by zero"
 return a / b

a = float(input("First number: "))
op = input("Operator (+, -, *, /): ")
b = float(input("Second number: "))
print(calc(a, b, op))

Apa yang kamu pelajari: menulis fungsi, percabangan dengan if, dan menangani satu kasus khusus yang menjebak (pembagian dengan nol). Ingin tantangan lebih? Tambahkan operasi berantai.

5. Gunting, Batu, Kertas

Kamu memilih satu, komputer memilih satu, dan aturan menentukan siapa yang menang. Sangat bagus untuk melatih game loop sederhana dan membiasakan diri menggunakan dictionary sebagai tabel pencarian (lookup table).

import random

options = ["rock", "paper", "scissors"]
wins_against = {"rock": "scissors", "paper": "rock", "scissors": "paper"}

you = input("Pick rock, paper, or scissors: ").lower()
cpu = random.choice(options)
print(f"Computer picked {cpu}.")

if you == cpu:
 print("Tie")
elif wins_against[you] == cpu:
 print("You win")
else:
 print("Computer wins")

Apa yang kamu pelajari: dictionary untuk pencarian cepat, random.choice, dan membandingkan string. Bungkus kode ini dalam perulangan while dan catat skor di setiap ronde, maka kamu sudah berhasil membuat game mini dalam waktu satu sore.

6. Generator Kata Sandi

Buat kata sandi acak sepanjang N karakter menggunakan huruf, angka, dan simbol. Berguna, mudah, dan selesai dalam 15 menit. Jenis program yang mungkin akan sering kamu gunakan.

import random
import string

def make_password(length=12):
 pool = string.ascii_letters + string.digits + string.punctuation
 return "".join(random.choice(pool) for _ in range(length))

print(make_password(16))

Apa yang kamu pelajari: module string, menggabungkan karakter menjadi satu string, dan mengambil karakter acak dari sekumpulan pilihan. Tambahkan opsi untuk melewati simbol, khusus untuk sistem yang tidak menerima tanda baca (dan sistem seperti ini ada lebih banyak dari yang kamu kira).

7. Daftar Tugas (To-Do List) di Terminal

Menu sederhana untuk menambah, melihat, dan menghapus tugas, langsung di terminal. Tanpa database, tanpa konfigurasi rumit, hanya menggunakan list Python yang aktif sampai kamu keluar dari program. Itu sudah lebih dari cukup untuk belajar.

todos = []

while True:
 cmd = input("Command (add/list/remove/quit): ")
 if cmd == "add":
 todos.append(input("Task: "))
 elif cmd == "list":
 for i, t in enumerate(todos, 1):
 print(f"{i}. {t}")
 elif cmd == "remove":
 idx = int(input("Index to remove: ")) - 1
 if 0 <= idx < len(todos):
 todos.pop(idx)
 elif cmd == "quit":
 break

Apa yang kamu pelajari: program berbasis menu, mengubah isi list, fungsi enumerate, dan trik kecil untuk penomoran yang dimulai dari angka 1. Versi berikutnya bisa kamu kembangkan untuk menyimpan tugas ke file teks agar tidak hilang saat program ditutup. Di situlah program ini mulai terasa seperti aplikasi sungguhan.

Kehilangan semangat di sela-sela proyek?

Coddy mengubah latihan Python menjadi kebiasaan harian dengan sistem streak yang seru, XP, dan pelajaran singkat yang membuatmu tetap ingin membuka aplikasi bahkan saat motivasi sedang turun.

Mulai Belajar Python Sekarang

8. Penghitung Kata dan Karakter

Tempelkan teks, lalu dapatkan jumlah kata, jumlah karakter, dan kata yang paling sering muncul. Sangat berguna saat kamu menulis dengan batasan jumlah kata yang ketat.

from collections import Counter

text = input("Paste your text: ")
words = text.split()
chars = len(text)
most_common = Counter(words).most_common(1)

print(f"Words: {len(words)}")
print(f"Characters: {chars}")
print(f"Most common word: {most_common[0][0]} ({most_common[0][1]} times)")

Apa yang kamu pelajari: module collections, fungsi .split(), dan membaca nilai dari hasil kembalian Counter. Cobalah untuk mengabaikan kata-kata pendek seperti "dan" atau "yang" untuk hasil yang lebih baik, jika tidak, kata yang paling sering muncul pasti kata-kata tersebut, yang sebenarnya tidak memberikan informasi berguna.

9. Kalkulator Tip

Total tagihan, persentase tip, dan pembagian pembayaran antar-orang. Jenis alat kecil yang mungkin akan tetap kamu gunakan bertahun-tahun dari sekarang, bahkan setelah kamu lupa bahwa kamulah yang menulis kodenya.

bill = float(input("Bill total: "))
tip_pct = float(input("Tip percentage (e.g., 18): "))
people = int(input("How many people: "))

tip = bill * (tip_pct / 100)
total = bill + tip
per_person = total / people

print(f"Tip: {tip:.2f}")
print(f"Total: {total:.2f}")
print(f"Per person: {per_person:.2f}")

Apa yang kamu pelajari: operator matematika, mengubah input menjadi angka, dan membulatkan angka menjadi dua desimal dengan :.2f. Kembangkan program ini dengan membulatkan nominal per orang ke atas, agar tidak ada yang merasa dirugikan saat membayar.

10. Penghitung Waktu Mundur (Countdown Timer)

Kamu mengetikkan berapa detik yang diinginkan, lalu program akan menghitung mundur hingga nol. Sederhana, memuaskan, dan sangat berguna untuk pengingat istirahat atau timer pomodoro setelah selesai dibuat.

import time

seconds = int(input("Seconds: "))

while seconds >= 0:
 mins, secs = divmod(seconds, 60)
 print(f"{mins:02d}:{secs:02d}", end="\r")
 time.sleep(1)
 seconds -= 1

print("Time's up ")

Apa yang kamu pelajari: module time, fungsi divmod untuk membagi angka menjadi menit dan detik, serta trik \r untuk memperbarui baris yang sama secara langsung. Penggunaan end="\r" inilah yang membuat timer terasa hidup, alih-alih mencetak baris teks baru yang memenuhi terminalmu.

11. Generator Kutipan Acak

Daftar kutipan, baik itu motivasi, lelucon, seputar pemrograman, atau apa pun yang kamu suka, dan program akan mencetak salah satunya secara acak saat dijalankan. Terdengar terlalu mudah? Tetap lakukan saja.

import random

quotes = [
 "The only way to learn a new programming language is by writing programs in it.",
 "Programs must be written for people to read, and only incidentally for machines to execute.",
 "Premature optimization is the root of all evil.",
 "Simplicity is the soul of efficiency.",
 "Code is like humor. When you have to explain it, it's bad.",
]

print(random.choice(quotes))

Apa yang kamu pelajari: dasar-dasar list, random.choice, dan program bermanfaat paling sederhana dalam bahasa Python. Hubungkan program ini ke startup terminalmu agar kutipan baru muncul setiap kali kamu membuka shell, hal kecil dan menyenangkan yang membuat aktivitas coding jadi lebih seru.

12. Hangman (Versi Sederhana)

Pilih kata rahasia, tampilkan garis bawah sebagai penanda huruf, biarkan pengguna menebak hurufnya, dan akhiri permainan setelah enam kali salah menebak. Sedikit lebih rumit dibanding proyek lainnya di sini, tapi masih bisa diselesaikan dalam waktu sekitar satu jam jika kamu membuatnya tetap sederhana.

import random

words = ["python", "syntax", "variable", "function", "module"]
secret = random.choice(words)
guessed = set()
wrong = 0

while wrong < 6:
 display = "".join(c if c in guessed else "_" for c in secret)
 print(display)
 if "_" not in display:
 print("You won")
 break
 letter = input("Guess a letter: ").lower()
 if letter in secret:
 guessed.add(letter)
 else:
 wrong += 1
 print(f"Wrong. {6 - wrong} tries left.")
else:
 print(f"You lost. The word was {secret}.")

Apa yang kamu pelajari: tipe data set, menyusun string dengan kondisi di dalamnya, dan fitur while-else yang jarang diketahui (blok else hanya berjalan jika perulangan selesai tanpa terkena break). Bosan dengan kata-kata yang itu-itu saja? Coba baca kata-katanya dari sebuah file. (Kamu pasti akan cepat bosan.)

13. Konverter Satuan

Konversi antar-satuan umum: Celsius ke Fahrenheit, kilometer ke mil, atau kilogram ke pon. Praktis, cepat diselesaikan, dan jenis alat yang akan sangat berguna nantinya.

def c_to_f(c):
 return c * 9/5 + 32

def km_to_mi(km):
 return km * 0.621371

def kg_to_lb(kg):
 return kg * 2.20462

print("1. Celsius to Fahrenheit")
print("2. Kilometers to miles")
print("3. Kilograms to pounds")

choice = input("Pick a converter: ")
value = float(input("Value: "))

if choice == "1":
 print(c_to_f(value))
elif choice == "2":
 print(km_to_mi(value))
elif choice == "3":
 print(kg_to_lb(value))

Apa yang kamu pelajari: beberapa fungsi kecil dalam satu file, menu dasar, dan percabangan berdasarkan apa yang diketik pengguna. Setelah konversi searah berhasil, tambahkan konversi sebaliknya (F ke C, mil ke km). Konsepnya sama, usahanya lebih sedikit, tapi latihannya jadi dua kali lipat.

Cara Agar Proyek-Proyek Ini Benar-Benar Melekat di Ingatanmu

Membuat satu proyek hanyalah sebuah momen sesaat. Membuat satu proyek setiap hari selama dua minggu adalah sebuah kebiasaan. Dan perbedaan antara orang yang berhasil melewati fase pemula di Python dengan yang tidak bukanlah bakat atau waktu, melainkan konsistensi dalam berlatih.

Beberapa hal yang bisa membantumu, kurang lebih secara berurutan:

  • Ketik kodenya sendiri, jangan salin-tempel (copy-paste)! Memang membosankan dan repetitif. Tapi ini satu-satunya cara agar pola kode tersebut terekam di tanganmu, bukan cuma di matamu. Pertama kali kamu mengetik import random di luar kepala, rasanya akan sangat memuaskan.

  • Sengaja buat kodenya error. Setelah program berjalan lancar, hapus satu baris, jadikan sebuah fungsi sebagai komentar, atau ubah nama variabel, lalu lihat apa yang terjadi. Memperbaiki error tersebut akan mengajarkanmu lebih banyak hal daripada saat membuatnya pertama kali. (Kamu baru akan merasakannya setelah mencobanya sendiri.)

  • Buat proyek yang sama dua kali. Seminggu kemudian, coba buat lagi game tebak angka dari nol tanpa melihat kode sebelumnya. Percobaan kedua ini akan menunjukkan apa yang benar-benar kamu ingat, yang mungkin saja lebih sedikit dari yang kamu harapkan. Dan itu tidak masalah!

  • Tambahkan satu fitur baru. Ambil salah satu proyek di atas dan tambahkan fitur kecil tambahan. Simpan daftar tugas ke dalam file. Buat pelempar dadu mencetak hasilnya satu per satu. Bagian tambahan inilah tempat pembelajaran yang sesungguhnya, karena tidak ada orang lain yang menulis panduan persis untuk versimu tersebut.

Jika latihan harian adalah hal yang paling sulit menjaga konsistensinya, itulah alasan utama Coddy dibuat. Pelajaran Python yang singkat dan hanya butuh lima menit, sistem streak yang memotivasimu kembali saat malas, dan petunjuk AI dari Bugsy langsung di dalam materi saat kamu menemui jalan buntu.

Setiap kelas bisa dimulai secara gratis, termasuk Python. Kami merancangnya khusus untuk situasi yang sedang kamu hadapi saat ini: sudah selesai dengan tutorial, belum terlalu percaya diri, dan ingin berlatih tanpa harus menyita seluruh waktu malammu.

Apa yang Harus Kamu Buat Selanjutnya?

Ketika proyek-proyek di atas mulai terasa terlalu mudah, berarti kamu sudah berhasil melewati batas yang ingin kamu lampaui. Kerja bagus! Langkah berikutnya adalah proyek tingkat menengah, jenis proyek yang mulai menggunakan satu atau dua library serta sedikit input/output file atau jaringan. Berikut beberapa proyek untuk naik level:

  • Aplikasi cuaca menggunakan library requests dan API cuaca gratis
  • Web scraper dengan BeautifulSoup untuk mengambil berita utama dari situs yang biasa kamu baca
  • Game petualangan berbasis teks dengan beberapa ruangan dan daftar inventaris barang
  • Timer pomodoro yang mencatat sesi belajarmu ke dalam file CSV
  • Aplikasi Flask sederhana yang menampilkan satu halaman berisi lelucon acak

Tidak ada satu pun dari proyek ini yang tergolong tingkat lanjut. Proyek-proyek ini hanya menggabungkan dua atau tiga hal yang sudah kamu ketahui, ditambah satu module baru. Pilih mana saja yang terdengar paling menyenangkan, karena proyek itulah yang kemungkinan besar akan benar-benar kamu selesaikan.

Tutorial akan kehilangan efektivitasnya begitu mereka melepasmu dan memintamu berpikir sendiri. Proyek, bahkan yang paling sederhana sekalipun, memaksamu untuk berpikir. Lakukan itu sesering mungkin, dan jebakan tutorial tidak akan lagi menjadi masalah bagimu.

Terjebak dalam jebakan tutorial?

Coddy membantumu keluar dari kebiasaan menonton pasif dan mulai coding secara langsung dengan pelajaran Python lima menit, streak harian, dan Bugsy, asisten AI yang memberikan petunjuk alih-alih langsung membocorkan jawabannya.

Mulai Coding Sekarang

About the Author

Coddy Team

Coddy Team

Editorial Team

Frequently Asked Questions

Apa proyek Python paling mudah untuk pemula?

Game tebak angka adalah jawaban standarnya. Singkat, menggunakan input, perulangan, dan kondisi dalam satu program, serta terasa seperti game sungguhan saat dijalankan. Kebanyakan orang bisa menyelesaikannya dalam 20 menit, bahkan jika mereka baru saja mempelajari apa kegunaan perulangan while.

Berapa lama waktu yang dibutuhkan untuk menyelesaikan proyek Python yang mudah?

Mulai dari sepuluh menit hingga satu jam. Jika kamu menghabiskan waktu tiga jam untuk satu proyek, itu berarti proyeknya terlalu sulit untuk tingkat kemampuanmu saat ini, atau kamu terjebak dalam proses debugging yang rumit dan sebaiknya kamu tinggalkan dulu. Pilih proyek yang lebih kecil, selesaikan, lalu kembali lagi.

Apakah kamu perlu menginstal sesuatu untuk mengerjakan proyek-proyek ini?

Ya jika kamu ingin menjalankannya secara lokal, tidak jika tidak. Menginstal Python dari python.org hanya membutuhkan waktu sekitar lima menit. Atau lewati proses instalasi sepenuhnya dan jalankan di playground dalam browser seperti yang ada di dalam Coddy, yang merupakan opsi tanpa setup.

Apakah proyek-proyek Python ini bagus untuk resume?

Secara mandiri, tidak. Proyek untuk resume biasanya membutuhkan kedalaman lebih, seperti web app kecil, script yang kamu gunakan untuk mengotomatiskan sesuatu yang nyata di tempat kerja, atau kontribusi ke proyek open-source. 13 proyek di sini adalah batu loncatan untuk membangun rasa percaya diri, bukan untuk portofolio. Proyek-proyek ini mempersiapkanmu untuk membuat sesuatu yang layak dimasukkan ke resume nanti.

Konsep Python apa saja yang akan kamu pelajari dari proyek-proyek ini?

Melalui 13 proyek ini, kamu akan mempelajari variabel, input dan output, kondisi, perulangan, fungsi, list, dictionary, set, modul random, modul time, f-string, list comprehension, dan beberapa modul library standar seperti collections dan string. Itu adalah bagian dasar bahasa pemrograman yang sangat berguna.

Bagaimana jika kodemu tidak berjalan?

Baca pesan error-nya. Sebagian besar error pemula memberi tahu dengan sangat tepat apa yang salah, biasanya di baris tepat di atas tempat kamu mulai panik. Cari pesan error tersebut di Google, minta asisten AI seperti Bugsy untuk menjelaskannya, atau tempelkan ke forum. Debugging adalah keterampilan yang dibangun dengan cara yang sama seperti coding, yaitu melalui latihan berulang.

Apakah kamu bisa mengerjakan proyek-proyek ini di HP?

Ya. Python bisa berjalan di lingkungan coding mobile, termasuk aplikasi Coddy yang memiliki code playground bawaan. Kamu memang tidak akan menulis software enterprise di layar seukuran telapak tangan, tetapi proyek latihan kecil bisa berjalan dengan baik dengan cara itu, dan banyak orang mendapatkan lebih banyak latihan di HP daripada yang pernah mereka lakukan di laptop.

Apa langkah selanjutnya setelah proyek Python yang mudah?

Proyek tingkat menengah yang menggabungkan lebih banyak konsep: web scraper kecil, API client, aplikasi Flask or Django yang menyajikan halaman web, atau script yang memproses file dalam folder. Apa pun yang menggunakan library baru dan terhubung ke sesuatu yang eksternal adalah langkah berikutnya yang berguna. Pilih salah satu yang menyelesaikan masalah kecil dalam hidupmu sendiri. Itulah proyek yang akan kamu selesaikan.

Ilustrasi bahasa pemrograman di Coddy

Belajar coding dengan Coddy

Mulai