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

Cara Menjadi Pengembang Front End – Keterampilan Front End Web Dev

  Menyumbangkan Belajar coding —  kurikulum 3.000 jam gratis 10 JUNI 2022 / #PENGEMBANGAN UJUNG DEPAN Bagaimana Menjadi Pengembang Front End – Keterampilan Front End Web Dev Joel Olawanle Beberapa profesional dengan bayaran tertinggi di dunia adalah pengembang front-end.  Mereka menggunakan pengetahuan dan bakat mereka untuk merancang situs web yang menarik dan ramah pengguna. Pengembang front-end tidak memerlukan gelar atau sertifikat sekolah untuk bekerja.  Sebaliknya, mereka harus memahami dasar-dasar pengembangan front-end, bahasa pemrograman, dan kerangka kerja pengembangan front-end. Dalam panduan ini, Anda akan belajar bagaimana menjadi pengembang front end dengan terlebih dahulu memahami apa yang dimaksud dengan pengembangan front end, keterampilan teknis dan soft skill yang diperlukan, bahasa dan kerangka kerja yang tersedia, dan beberapa langkah untuk memulai. Seorang pengembang front-end di Amerika Serikat dapat memperoleh rata-rata $86,178 per tahun, menu...