0% menganggap dokumen ini bermanfaat (0 suara)
16 tayangan5 halaman

Uas Pbo

Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
16 tayangan5 halaman

Uas Pbo

Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 5

Pemrograman Berbasis Objek

Disusun Oleh:
Nama: Akbarnama Tangguh Dipantara
NIM: 1222002031

Pembimbing:
Asisten Dosen :-
Dosen : Brian Arnesto Sitorus

Pemrograman Berbasis Objek (SIF-311)


Friday, 12 Juli 2024

TAHUN GASAL 2023/2024


SISTEM INFORMASI
1. Variabel adalah konsep storing value dimana kita dapat memasukan nilai ke
dalam memori yang dapat kita atur penamaannya. Sehingga jika ingin
mengambil valuenya lagi, kita hanya harus memanggil penamaan
variabelnya saja. Setiap variabel dapat memiliki tipe tipe data yang berbeda
sesuai dengan tipe value yang dimasukan. Jika nilai berbentuk huruf dan kata
maka akan bertipe data string, jika nilainya berbentuk angka maka akan
bertipe data integer. Dan masih banyak lagi tipe data yang lain. Dalam
bahasa pemrograman python tipe data tidak secara manual didefinisikan
melainkan secara otomatis didefinisikan dengan cara melihat isi dari value-
nya. Jika value berbentuk kata maka akan secara otomatis didefinisikan
bertipe data string, jika valuenya berubah menjadi angka maka tipe data juga
akan otomatis menyesuaikan.

Contoh kasus:

Keuntungan tipe data dinamis adalah mudah untuk memprogram, karena kita
tidak harus memikirkan tipe data dalam suatu variabel karena akan secara
otomatis didefinisikan. Kekurangan dari tipe data dinamis adalah kurangnya
kedisiplinan dalam menentukan suatu tipe data. Karena dalam kasus tertentu
dibutuhkan variabel yang bersifat statis, misal terdapat input box pada
sebuah program lalu input box tersebut harus diisi dengan angka, maka jika
tipe data dinamis, input box tersebut tetap akan bisa diisi dengan nilai yang
bukan angka dan tujuan untuk membatasi input hanya dengan angka tidak
dapat tercapai.

2. List comprehension merupakan sebuah manipulasi yang dapat digunakan


untuk menentukan value mana saja yang akan dicetak pada sebuah list.
Contoh list comprehension:
list_binatang[“Anjing”,“kucing”,“kerbau”]
print(list_binatang[1:2]) -> list comprehension.
Maka jika kita jalankan kode tersebut, akan dicetak nilai kucing dan kerbau
karena menyaring value hanya untuk index 1 sampai 2.
List comprehension lebih efisien karena menggunakan lebih sedikit syntax
dengan hasil yang sama dibanding menggunakan loop tradisional.

3. Fungsi tanpa nama atau lambda adalah sebuah konsep fungsi yang hanya
berisi expression saja tanpa didefinisikan terlebih dahulu nama fungsinya.
Lambda sangat berbeda dari fungsi biasa karena syntaxnya berbeda, jika
fungsi biasa diawali dengan def maka lambda diawali dengan kata lambda
dan fungsi biasa cenderung memiliki banyak baris sedangkan fungsi lambda
biasanya hanya satu baris.

Contoh penggunaan lambda untuk efisiensi:

PBO
def times3(x):

return x*3

lambda x: x*3.

Terlihat jelas bahwa lambda lebih efisien dalam pemrosesan data.

4. Encapsulation merupakan konsep dalam oop yang mengizinkan kita untuk


menyembunyikan detail dari sebuah atribut dalam class. Contoh kode
encapsulation:

Class Karyawan:

Nama_perusahaan: “bonz”

__insentif_lembur: 250000

def__init__(self, nama, usia, pendapatan):

self.__nama=nama

self.__usia=usia

self.__pendapatan=pendapatan

Axel = karyawan(‘axel’, ‘25’, 850000)

Penjelasan:

Maka semua atribut yang didahului double underscore akan dianggap


data private sehingga atribut tersebut tidak akan dapat diakses dari luar
method maupun luas class.keuntungan dari encapsulation adalah
terjaganya data-data penting dari sebuah atribut karena tidak dapat
diakses secara sembarang.

5. Black box testing:

• Tidak melihat kode


• Dapat diselesaikan oleh orang lain untuk menghindari bias
• Testing dapat digunakan kembali jika terdapat perubahan
• Dapat diselesaikan melalui spesifikasi seperti partisi

White box testing:

• Menggunakan kode untuk membuat design testing


• Memastikan seluruh code sudah di-tes paling tidak satu kali

PBO
• Memiliki guidelines yaitu percabangan, for loop, dan while loops

Blackbox testing lebih efektif jika memiliki masalah dalam ukuran besar
dan struktural jadi kita tidak melihat kode namun lihat dari sisi struktur
besar dari sebuah program.

White box testing lebih efektif jika kita sudah tau secara spesifik apa
permasalahan dan masalahnya cenderung dari sisi teknis seperti penulisan
kode.

Jika menggunakan metode black box dalam menghitung akar kuadrat


yang pertama harus dipastikan adalah penamaan variabel dan operasi
perhitungan yang ditulis. Jika sudah maka pastikan fungsi tersebut sudah
dipanggil sebelum dieksekusi.

6. Exception handling penting digunakan agar kita dapat mengatur respon dari
program jika terjadi error, contoh situasinya adalah jika sebuah program e-
commerce mengalami error lalu tidak diatas dengan exception handling
maka program tersebut akan memberikan alert dan mengeluarkan code mana
yang error. Hal ini harus dihindari agar source code tidak bocor ke
pengguna. Tentunya jika terdapat exception handling program akan lebih
handal karena program masih tetap dapat digunakan meskipun terjadinya
error.

7. Abstraksi dapat membantu manajemen kompleksitas program karena dengan


menggunakan konsep ini setiap kita melakukan perubahan pada kelas
abstrak tetap akan ditelusuri asal casis dari parent yang mana. Jadi
menggunakan abstraksi kita dapat meningkatkan kompleksitas dari sebuah
program dan dapat memelihara atau mem-manage kompleksitas tersebut.

Contoh implementasi abstraksi:

Class Animal(ABC):

Def sleep(self):

print(“bobo”)

Def sound(self):

print(“define sound”)

Pass

Class Snake(Animal):

PBO
Def sound(self):

print(“hiss”)

Class Dog(Animal):

Def sound(self):

print(“Bark”)

Class Lion(Animal):

Def sound(self):

print(“Roar”)

Class Cat(Animal):

Def sound(self):

print(“meow”)

C = Cat()

C.sleep()

c.sound()

Abstraksi dapat meningkatkan pemeliharaan karena setiap fungsional dari pada


sebuah program menjadi abstraksi-abstraksi kecil sehingga mudah untuk
dipelihara. Abstraksi dapat meningkatkan pengembangan jangka panjang karena
di masa depan ingin meningkatkan fitur atau melakukan update yang lain, itu
dapat diwujudkan menggunakan konsep abstraksi

PBO

Anda mungkin juga menyukai