Cara Membuat Urutan/Abjad Romawi

Assalamualaikum Warahmatullahi Wabarakatuh.

Pada materi kali ini saya akan membagikan cara membuat abjad/urutan romawi.

pertama kita buar funsi untuk tempalte nilai romawinya.

def int_to_roman(self, nilai):
        val = [
            1000, 900, 500, 400,
            100, 90, 50, 40,
            10, 9, 5, 4,
            1
            ]
        syb = [
            "M", "CM", "D", "CD",
            "C", "XC", "L", "XL",
            "X", "IX", "V", "IV",
            "I"
            ]
        roman_num = ''
        i = 0
        while nilai > 0:
            for _ in range(nilai // val[i]):
                roman_num += syb[i]
                nilai -= val[i]
            i += 1
        return roman_num


kode diatas ada fungsi untuk membuat template angka romawinya beserta parameternya.

di dalam kode tersebut ada variabel val yang berisi nilai satuan,  puluhan,  ratusan, dan ribuan. sementara variable sym maksudnya adalah symbol yang akan diterjemahkan oleh angka2 variable val.

variable roman_num sebagai penyimpan hasil akhir angka romawi yang sudah di convert dari nilai. sementara variable i adalah indeks yang digunakan untuk melacak posisi saat ini pada variable sym dan val.

Setelah itu kita cari nilainya. contoh jika nilai ada 58. makan nilai masuk ke dalam while, lanjut lagi disitu tertulis range(nilai // val[i]) karena i adalah 0 maka nilai val adalah 1000. lanjut ke rumus apakah 58 // 1000 tidak sama dengan 0. jika sama dengan 0 makan i + 1, jika tidak val akan menerjemahkan ke nilai symbol. dan hasil sisa nilai tadi dihitung dengan cara yang sama.

ini contoh hasilnya menggunakan report,  diatas hanyalah contoh 1

jangn lupa kita panggil kodenya untuk ditampilkan

nilai = 1
        for category_id, lines in nested_names.items():
            sheet.write(current_row, 1, self.int_to_roman(nilai), text_style_blue_center)

karena hanya ada 3 baris line maka yang tampil hanya 3 baris lah





Cara memfilter Lot/Serial Number berdasarkan Quantity