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

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 ...

MIGRASI DATABASE DARI SQLite KE MySQL (Part-1)

  MIGRASI DATABASE DARI SQLite KE MySQL (Part-1) Pemakaian yang mana lebih baik dalam membuat database_musik di mysql atau Exel yang cell Cell pada tabel dilakukan operasi fungsi logika matematika. Untuk keperluan membuat database atau tabel yang memerlukan operasi logika atau matematika, seperti yang Anda sebutkan, MySQL jauh lebih baik dibandingkan Excel. Berikut adalah beberapa alasan mengapa MySQL lebih disarankan: 1. **Kapasitas dan Skalabilitas**: MySQL dapat menangani jumlah data yang jauh lebih besar daripada Excel. Ini penting jika Anda berencana untuk menyimpan banyak data atau melakukan operasi yang kompleks di atas data tersebut. 2. **Kekuatan dan Kinerja**: MySQL dirancang khusus untuk memproses query dan operasi basis data dengan cepat. Ini termasuk operasi matematika, logika, dan agregasi data yang umum dilakukan dalam aplikasi. 3. **Fleksibilitas Struktur**: Dalam MySQL, Anda dapat dengan mudah menentukan struktur tabel yang kompleks dan melakukan kueri yang lebih r...

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...