Home/Semester 3/Algoritma dan Struktur Data/

Algoritma dan Struktur Data

GenAI Form Dapat diunduh disini

GenAI Form.xlsx
Dapat diunduh juga melalui laman Class Rules
File Class Rules Class Rules IF Struktur Data Ganjil 2025_2026.pdf

Catatan Pertemuan 1 Pelajari yaa, kalian bisa

P1 - ABSTRACT DATA TYPE

Definisi
Sebuah model untuk beberapa kelas data stuktur yang memiliki perilaku
Contoh:
  • Komputer terdiri dari data (yang disimpan) dan operasi (yang dilakukan dari data itu)
Kelas dan Objek
  • Kelas --> Stukrur ADT
    • template dari sebuah objek
    • Satu template dapat digunakan untuk banyak objek
  • Objek -> Pemakaian ADT di program utama
Struktur Kelas
  • Data (attribute) --> variabel menempel pada objek
  • Operasi (method) --> fungsi menempel pada objek
Konstruktor
Method yang bertugas untuk memberi nilai awal pada data dalam objek

Studi Kasus kode Python
  • Setiap Mahasiswa memiliki nilai KAT
  • Setiap Mahasiswa dapat diinstruksikan untuk menampilkan semua nilai, menghitung nilai NA, dan nilai mutu
  • Tanpa Konstruktor
  • 
    ## Definisi Kelas ##
    # Definisi Atribut
    class Mahasigma:
        ## Definisi Method
        # Kamus Lokal
        def tampilkan(self):
            print("kat :", self.kat, "uts :", self.uts, "uas :", self.uas)
            return
    
        ## Definisi Method
        # Kamus Lokal
        def hitungNilaiAkhir(self):
            return(self.kat*4+self.uts*3+self.uas*3/10)
    
        ## Definisi Method
        # Kamus Lokal
        def tampilkanNilaiMutu(self):
            na = self.hitungNilaiAkhir()
            if(na >= 80):
                print("A")
            elif(na >= 70):
                print("B")
            elif(na >= 60):
                print("C"):
            elif(na >= 50):
                print("D")
            else:
                print("E")
            return
    
    ## Program Utama ##
    # Kamus Lokal
    def main():
         m = Mahasigma() # buat mahasigma baru
         m.kat = int(input())
         m.uts = int(input())
         m.uas = int(input())
         m.tampilkan()
         print(m.hitungNilaiAkhir())
         m.tampilkanNilaiMutu()
         return
     if __name__ == '__main__':
         main()
                            
  • Dengan Konstruktor
  • 
    # Definisikan kelas 'Pegawai'
    class Pegawai:
        # Metode konstruktor untuk menginisialisasi atribut-atribut pegawai
        def __init__(self, nama, jabatan, gaji):
            self.nama = nama
            self.jabatan = jabatan
            self.gaji = gaji
        # Metode untuk menampilkan informasi pegawai
        def info_pegawai(self):
            return f"Nama: {self.nama}, Jabatan: {self.jabatan}, Gaji: ${self.gaji}"
         
    # Membuat beberapa objek pegawai
    pegawai1 = Pegawai("John Doe", "Manajer Proyek", 60000)
    pegawai2 = Pegawai("Jane Smith", "Pengembang Perangkat Lunak", 50000)
    pegawai3 = Pegawai("Bob Johnson", "Desainer UI/UX", 55000)
    
    # Menampilkan informasi pegawai-pegawai
    print("Informasi Pegawai:")
    print(pegawai1.info_pegawai())
    print(pegawai2.info_pegawai())
    print(pegawai3.info_pegawai())