Langsung ke konten utama

MEMPERBAIKI FUNGSI level_gn UNTUK DATA TABEL Gn_Cyan_Bawah DAN Sub_Gn_Cyan_Bawah

 MEMPERBAIKI FUNGSI level_gn UNTUK DATA TABEL Gn_Cyan_Bawah DAN Sub_Gn_Cyan_Bawah


Memperbaiki fungsi level_gn untuk Gn_Cyan_Bawah, berikut logikanya: level_gn 1 = id 1,  level_gn 2 = id 2, level_gn 3  = id 3, level_gn 4 = id 4, level_gn 5 = id 1 yang setiap karakter angka datanya dikurang 1,  level_gn 6 = id 2 yang setiap karakter angka datanya dikurang 1, level_gn 7 = id 3 yang setiap karakter angka datanya dikurang 1,  level_gn 8  = id 4 yang setiap karakter angka datanya dikurang 1, , level_gn 9 = id 1 yang setiap karakter angka datanya dikurang 2,  level_gn 10 = id 2 yang setiap karakter angka datanya dikurang 2, level_gn 11 = id 3 yang setiap karakter angka datanya dikurang 2, level_gn 12  = id 4 yang setiap karakter angka datanya dikurang 2.

Dan untuk Sub_Gn_Cyan_Bawah, berikut logikanya: level_gn 1 = sub_id 1, level_gn 2 = sub_id 1 yang setiap karakter angka datanya dikurang 1, level_gn 3 = sub_id 1 yang setiap karakter angka datanya dikurang 2,  level_gn 4 = sub_id 1 yang setiap karakter angka datanya dikurang 3,  level_gn 5 = sub_id 1 yang setiap karakter angka datanya dikurang 4,  level_gn 6 = sub_id 1 yang setiap karakter angka datanya dikurang 5,  level_gn 7 = sub_id 1 yang setiap karakter angka datanya dikurang 6,  level_gn 8 = sub_id 1 yang setiap karakter angka datanya dikurang 7, level_gn 9 = sub_id 1 yang setiap karakter angka datanya dikurang 8, level_gn 10 = sub_id 1 yang setiap karakter angka datanya dikurang 9,, level_gn 11 = sub_id 1 yang setiap karakter angka datanya dikurang 10, dan level_gn 12 = sub_id 1 yang setiap karakter angka datanya dikurang 11,  Tolong buatkan kodenya pada fungsi level_gn


Berikut adalah kode fungsi `level_gn` yang sudah dimodifikasi sesuai dengan logika yang Anda berikan untuk tabel `Gn_Cyan_Bawah` dan `Sub_Gn_Cyan_Bawah`:


```python

def level_gn(table_name):

    try:

        level_gn_selected = int(entry_level_gn.get()) # Mendapatkan Level_Gn dari input

        

        # Variabel awal untuk ID, Sub_ID, kolom, dan modifikasi angka

        id_selected = None

        sub_id_selected = None

        modifikasi_angka = 0 # Default 0, tidak ada pengurangan


        if table_name == 'Gn_Cyan_Bawah':

            # Logika untuk tabel Gn_Cyan_Bawah

            if level_gn_selected in [1, 5, 9]:

                id_selected = 1

                modifikasi_angka = (level_gn_selected - 1) // 4 # 0, 1, atau 2

            elif level_gn_selected in [2, 6, 10]:

                id_selected = 2

                modifikasi_angka = (level_gn_selected - 2) // 4 # 0, 1, atau 2

            elif level_gn_selected in [3, 7, 11]:

                id_selected = 3

                modifikasi_angka = (level_gn_selected - 3) // 4 # 0, 1, atau 2

            elif level_gn_selected in [4, 8, 12]:

                id_selected = 4

                modifikasi_angka = (level_gn_selected - 4) // 4 # 0, 1, atau 2

            else:

                messagebox.showerror("Error", "Level_Gn harus antara 1 hingga 12.")

                return None, None, None


        elif table_name == 'Sub_Gn_Cyan_Bawah':

            # Logika untuk tabel Sub_Gn_Cyan_Bawah

            sub_id_selected = 1

            modifikasi_angka = level_gn_selected - 1 # Modifikasi angka dari 0 hingga 11 berdasarkan level_gn


        else:

            messagebox.showerror("Error", "Nama tabel tidak valid!")

            return None, None, None


        # Menyisipkan ID atau Sub_ID dan kolom yang dipilih ke dalam entry box

        entry_id.delete(0, 'end')

        if table_name == 'Gn_Cyan_Bawah':

            entry_id.insert(0, str(id_selected))

        elif table_name == 'Sub_Gn_Cyan_Bawah':

            entry_id.insert(0, str(sub_id_selected))


        # Hanya untuk pengisian Entry jika menggunakan tkinter, tidak untuk pengembalian nilai logika

        entry_modifikasi_angka.delete(0, 'end')

        entry_modifikasi_angka.insert(0, str(modifikasi_angka))


        if table_name == 'Gn_Cyan_Bawah':

            return id_selected, modifikasi_angka

        elif table_name == 'Sub_Gn_Cyan_Bawah':

            return sub_id_selected, modifikasi_angka


    except ValueError:

        messagebox.showerror("Error", "Masukkan nilai Level_Gn yang valid!")

        return None, None, None

```


### Penjelasan:


1. **Parameter `table_name`:**

   - Fungsi ini menerima parameter `table_name` untuk menentukan apakah fungsi bekerja dengan `Gn_Cyan_Bawah` atau `Sub_Gn_Cyan_Bawah`.

2. **Logika untuk `Gn_Cyan_Bawah`:**

   - Jika `Level_Gn` adalah 1, 5, atau 9, maka ID yang dipilih adalah 1 dengan modifikasi angka sesuai dengan level yang diatur (`0` untuk level 1, `1` untuk level 5, dan `2` untuk level 9).

   - Logika serupa diterapkan untuk `Level_Gn` lainnya (2, 6, 10 untuk ID 2; 3, 7, 11 untuk ID 3; dan 4, 8, 12 untuk ID 4).

3. **Logika untuk `Sub_Gn_Cyan_Bawah`:**

   - Untuk tabel ini, `Sub_ID` selalu 1, dan modifikasi angka adalah `Level_Gn - 1`, yang berarti pengurangan angka dilakukan bertahap dari 0 hingga 11.

4. **Pengembalian Nilai:**

   - Fungsi mengembalikan `id_selected` atau `sub_id_selected` bersama dengan `modifikasi_angka`.

Fungsi ini telah disesuaikan untuk menangani kedua tabel dengan logika yang berbeda namun terintegrasi dalam satu fungsi. Apakah ini sudah sesuai dengan kebutuhan Anda?




Komentar

Postingan populer dari blog ini

PEMAKAIAN FONT FONT KHUSUS UNTUK SIMBOL SIMBOL NOTASI ANGKA LAGU

  PEMAKAIAN FONT FONT KHUSUS UNTUK SIMBOL SIMBOL NOTASI ANGKA LAGU Bagaimana kalau di dalam applikasi pertitur notasi angka dibuatkan sistem teks dengan memakai font parnumstion untuk membuat simbol simbol pada notasi angka lagu Menggunakan font khusus seperti **Parnumstion** untuk membuat simbol-simbol pada notasi angka dalam aplikasi pertitur dapat menjadi solusi yang elegan untuk menampilkan simbol notasi secara visual menarik dan konsisten. Berikut adalah langkah-langkah umum yang dapat kamu lakukan untuk mengimplementasikan sistem teks dengan font ini dalam aplikasi Python, khususnya jika kamu menggunakan tkinter: ### Langkah-langkah Implementasi: 1. **Pastikan Font Tersedia:**    - Unduh dan instal font **Parnumstion** pada sistem yang akan menjalankan aplikasi. Font ini harus diinstal agar bisa digunakan oleh aplikasi tkinter.    - Kamu dapat menempatkan file font (biasanya dengan ekstensi `.ttf`) di folder aplikasi atau menginstalnya secara manual di sis...

Pemograman R Studio

  Metode Numerik Menggunakan R Pengantar Gambaran Isi Buku Cara Berkontribusi dalam Buku Ini Ucapan Terima Kasih Lisensi 1  Bahasa Pemrograman R 1.1  Sejarah R 1.2  Fitur dan Karakteristik R 1.3  Kelebihan dan Kekurangan R 1.4  RStudio 1.5  Menginstall R dan RStudio 1.6  Working Directory 1.6.1  Mengubah Lokasi Working Directory 1.6.2  Mengubah Lokasi Working Directory Default 1.7  Memasang dan Mengaktifkan Paket R 1.8  Fasilitas Help 1.8.1  Mencari Help dari Suatu Perintah Tertentu 1.8.2  General Help 1.8.3  Fasilitas Help Lainnya 1.9  Referensi 2  Kalkulasi Menggunakan R 2.1  Operator Aritmatik 2.2  Fungsi Aritmetik 2.3  Operator Relasi 2.4  Operator Logika 2.5  Memasukkan Nilai Kedalam Variabel 2.6  Tipe dan Struktur Data 2.7  Vektor 2.7.1  Membuat vektor 2.7.2  Missing Values 2.7.3  Subset Pada Vektor 2.7.4  Operasi Matematis Menggunakan Vektor ...

Penerapan Graf dan Logika dalam Perancangan Rangkaian Digital

  Penerapan Graf dan Logika dalam Perancangan Rangkaian Digital dengan Studi Kasus Jam Digital Advertisement dokumen-dokumen yang mirip Aljabar Boolean. IF2120 Matematika Diskrit. Oleh: Rinaldi Munir Program Studi Informatika, STEI-ITB. Rinaldi Munir - IF2120 Matematika Diskrit SISTEM DIGITAL; Analisis, Desain dan Implementasi, oleh Eko Didik Widianto Hak Cipta 2014 pada penulis GRAHA ILMU Ruko Jambusari 7A Yogyakarta 55283 PENGGUNAAN TABEL KEBENARAN DALAM MERANCANG DESAIN DIGITAL MODUL 6 PROYEK PERANCANGAN RANGKAIAN DIGITAL 2. STUDI PUSTAKA Aplikasi Aljabar Boolean dalam Komparator Digital Aljabar Boolean. Adri Priadana Aljabar Boolean. Rinaldi Munir/IF2151 Mat. Diskrit 1 Aljabar Boolean. Bahan Kuliah Matematika Diskrit Implementasi Greedy Dalam Menemukan Rangkaian Logika Minimal Menggunakan Karnaugh Map MATERI PELATIHAN VHDL UNTUK SINTESIS yang paling umum adalah dengan menspesifikasikan unsur unsur pembentuknya (Definisi 2.1 Menurut Lipschutz, Seymour & Marc Lars Lipson dala...