MediumDasar Python Untuk Pengembangan Odoo part 1 | by Ariev | Medium
Sitemap

Dasar Python Untuk Pengembangan Odoo part 1

6 min readJun 28, 2025

--

Tipe data dasar (integer, float, string, boolean)

1. Integer (Bilangan Bulat)

Integer adalah tipe data untuk angka bulat, baik positif, negatif, maupun nol, tanpa komponen desimal. Dalam pengembangan Odoo, kita akan sering menggunakannya untuk ID catatan, jumlah, atau nilai-nilai lain yang tidak memerlukan presisi desimal.

Contoh :

Press enter or click to view image in full size

2. Float (Bilangan Pecahan/Desimal)

Float (floating-point number) adalah tipe data untuk angka yang memiliki komponen desimal. Ini digunakan ketika kita membutuhkan presisi yang lebih tinggi, seperti harga, perhitungan berat, atau nilai-nilai numerik lainnya yang bisa memiliki pecahan.

Contoh :

Press enter or click to view image in full size

3. String (Teks)

String adalah tipe data untuk representasi teks. String adalah urutan karakter. Kita bisa mendefinisikannya menggunakan tanda kutip tunggal (‘) atau ganda (“). String sangat sering digunakan dalam Odoo untuk nama, deskripsi, alamat, dan semua data berbasis teks lainnya.

Contoh :

Press enter or click to view image in full size

Kita juga bisa melakukan operasi pada string, seperti menggabungkan (concatenation) atau mengambil bagian dari string.

Contoh :

Press enter or click to view image in full size

4. Boolean (Benar/Salah)

Boolean adalah tipe data yang paling sederhana, hanya memiliki dua kemungkinan nilai: True (Benar) atau False (Salah). Tipe data ini fundamental untuk logika pemrograman, percabangan (if/else), dan validasi. Dalam Odoo, boolean sering digunakan untuk mengontrol visibilitas bidang, status aktif/nonaktif, atau kondisi lainnya.

Contoh :

Press enter or click to view image in full size

Contoh penggunaan dalam kondisi :

Press enter or click to view image in full size

Struktur data (list, tuple, dictionary, set)

1. List (Daftar)

List adalah koleksi data yang terurut dan bisa diubah (mutable). Artinya, ktia bisa menambahkan, menghapus, atau memodifikasi elemen setelah list dibuat. List sangat serbaguna dan sering digunakan untuk menyimpan sekumpulan item yang mungkin memiliki tipe data berbeda.

Ciri-ciri Utama:

· Terurut (Ordered): Elemen memiliki indeks, dimulai dari 0.

· Bisa Diubah (Mutable): Anda bisa mengubah isinya.

· Memungkinkan Duplikat: Elemen yang sama bisa muncul lebih dari sekali.

· Didefinisikan menggunakan kurung siku [].

Contoh :

Press enter or click to view image in full size

Dalam Odoo, list akan sering digunakan untuk menyimpan hasil query database, daftar ID, atau koleksi catatan yang terkait.

2. Tuple (Rangkaian)

Tuple mirip dengan list, yaitu koleksi data yang terurut. Namun, perbedaan krusialnya adalah tuple tidak bisa diubah (immutable) setelah dibuat. Ini berarti kita tidak bisa menambahkan, menghapus, atau memodifikasi elemen dalam tuple. Tuple sering digunakan untuk data yang bersifat tetap atau ketika kita ingin melindungi integritas data.

Ciri-ciri Utama:

· Terurut (Ordered): Elemen memiliki indeks.

· Tidak Bisa Diubah (Immutable): Tidak bisa dimodifikasi setelah dibuat.

· Memungkinkan Duplikat: Elemen yang sama bisa muncul lebih dari sekali.

· Didefinisikan menggunakan kurung biasa ().

Contoh :

Press enter or click to view image in full size

3. Dictionary (Kamus)

Dictionary (sering disebut dict) adalah koleksi data yang tidak terurut (dalam Python versi lama, sekarang terurut mulai Python 3.7+ untuk insertion order) dan bisa diubah. Dictionary menyimpan data dalam pasangan kunci-nilai (key-value pairs). Setiap kunci harus unik, dan digunakan untuk mengakses nilai yang terkait.

Ciri-ciri Utama:

· Tidak Terurut (secara konsep, tapi insertion order dipertahankan mulai Python 3.7+): Elemen diakses berdasarkan kunci, bukan indeks.

· Bisa Diubah (Mutable): Anda bisa menambahkan, menghapus, atau memodifikasi pasangan kunci-nilai.

· Kunci Harus Unik: Setiap kunci dalam dictionary harus berbeda.

· Didefinisikan menggunakan kurung kurawal {} dengan pasangan key: value.

Contoh :

Press enter or click to view image in full size

Dictionary adalah struktur data yang paling sering ditemui dan digunakan dalam pengembangan Odoo. Recordset Odoo (objek yang mewakili satu atau lebih catatan database) bertindak mirip dictionary, di mana Anda mengakses nilai bidang menggunakan nama bidang sebagai kunci.

4. Set (Himpunan)

Set adalah koleksi data yang tidak terurut dan tidak memungkinkan elemen duplikat. Set digunakan ketika kita ingin menyimpan koleksi item unik dan melakukan operasi himpunan seperti union, intersection, atau difference.

Ciri-ciri Utama:

· Tidak Terurut (Unordered): Elemen tidak memiliki indeks.

· Tidak Memungkinkan Duplikat: Setiap elemen dalam set harus unik.

· Bisa Diubah (Mutable): Anda bisa menambahkan atau menghapus elemen.

Get Ariev’s stories in your inbox

Join Medium for free to get updates from this writer.

· Didefinisikan menggunakan kurung kurawal {} (tetapi tanpa pasangan kunci-nilai, hanya elemen). Set kosong dibuat dengan set().

Press enter or click to view image in full size

Set kurang umum digunakan secara langsung dalam struktur data Odoo dibandingkan list dan dictionary, tetapi sangat berguna untuk operasi logika tertentu, seperti menemukan elemen unik atau membandingkan dua koleksi data.

Control flow (if-else, for, while)

1. Kondisional (if-else, elif)

Pernyataan kondisional digunakan untuk menjalankan blok kode tertentu hanya jika kondisi tertentu terpenuhi.

· if: Mengevaluasi kondisi. Jika kondisi True, blok kode di bawah if akan dieksekusi.

· else: Jika kondisi if adalah False, blok kode di bawah else akan dieksekusi.

· elif (else if): Digunakan untuk memeriksa beberapa kondisi secara berurutan. Jika if pertama False, elif berikutnya akan dievaluasi, dan seterusnya.

Sintaks Penting:

· Setiap kondisi diakhiri dengan titik dua (:).

· Blok kode di bawah if, elif, atau else harus di-indent (memiliki spasi/tab masuk). Ini adalah hal krusial di Python!

Contoh :

Press enter or click to view image in full size

Contoh Penggunaan dalam Odoo:

· Validasi data:

if record.amount < 0: raise ValidationError(…):

· Logika bisnis:

if partner.country == ‘US’: calculate_tax_us():

· Mengaktifkan atau menonaktifkan fitur:

if user.has_access_rights(‘my_module.my_group’):

2. Perulangan for

Perulangan for digunakan untuk mengulang suatu blok kode sejumlah kali tertentu, biasanya untuk mengiterasi (melakukan perulangan) melalui elemen-elemen dalam sebuah koleksi (list, tuple, string, dictionary, set, atau objek iterable lainnya).

Sintaks:

Press enter or click to view image in full size

Contoh 1: Iterasi melalui List

Press enter or click to view image in full size

Contoh 2: Iterasi melalui Dictionary (menggunakan .items(), .keys(), .values())

Press enter or click to view image in full size

Contoh 3: Menggunakan range() untuk mengulang sejumlah kali

Fungsi range() sering digunakan dengan for loop untuk menghasilkan urutan angka.

· range(stop): Angka dari 0 hingga stop-1.

· range(start, stop): Angka dari start hingga stop-1.

· range(start, sztop, step): Angka dari start hingga stop-1 dengan step tertentu.

Press enter or click to view image in full size

Penggunaan dalam Odoo:

· Memproses banyak catatan dari database:

for record in self.search([]):

record.do_something()

· Mengiterasi baris pesanan:

for line in order.order_line:

total += line.price_unit

· Membuat laporan atau daftar dinamis.

3. Perulangan while

Perulangan while digunakan untuk mengulang suatu blok kode selama kondisi tertentu masih True. Perulangan ini akan terus berjalan sampai kondisi menjadi False.

Sintaks:

Press enter or click to view image in full size

Contoh:

Press enter or click to view image in full size

Penggunaan dalam Odoo (lebih jarang dibandingkan for dalam operasi CRUD standar, tapi tetap penting):

· Ketika Anda perlu terus melakukan sesuatu sampai kondisi tertentu terpenuhi, misalnya menunggu proses selesai atau melakukan retry operasi.

· Algoritma yang membutuhkan iterasi berulang hingga konvergensi.

break dan continue (dalam for dan while loops)

· break: Segera keluar dari perulangan saat ini.

· continue: Melewati sisa blok kode dalam iterasi saat ini dan langsung melanjut ke iterasi berikutnya.

Contoh break:

Press enter or click to view image in full size

Contoh continue:

Press enter or click to view image in full size

Penguasaan pengkondisian adalah kunci untuk menulis kode Python yang fungsional dan dinamis. Kita akan sangat sering menggunakan if-else untuk logika bisnis dan for loop untuk memproses data dalam pengembangan Odoo. while loop juga memiliki tempatnya, terutama untuk algoritma tertentu.

--

--

Ariev
Ariev

Written by Ariev

Undergraduate Information System Student