Anda di halaman 1dari 22

STRUKTUR DAN KELAS

Pu t r i A l vi a R am a da ni ( 21 3 2 2 3 0 1 8 )
P MT K 3 Re g u l er
MATERI :

1. Definisi Struktur dan Kelas


2. Fungsi struktur dan kelas
3. Penggunaan struktur dan kelas
4. Contoh kasus dan penyelesaiannya
5.  Implementasi dalam Bahasa Pemrograman
DEFINISI STRUKTUR DAN KELAS

Struktur
Struktur adalah kumpulan variabel tipe data yang
berbeda, semua dirujuk oleh satu nama. Deklarasi
struktur membentuk templat yang digunakan untuk
membuat turunan dari struktur. Struktur dinyatakan
sebagai berikut.
struct sname {type struct_element1; ketik
struct_element2; ketik struct_element3; . . . }
variabel1, variabel2, . . .;
Kata kunci 'struct' mendefinisikan ke kompiler bahwa suatu struktur sedang dideklarasikan. 'Sname' mewakili nama yang diberikan pada struktur. Deklarasi struktur selalu diakhiri dengan tanda titik koma, karena dianggap sebagai pernyataan. Anda dapat mendeklarasikan instance dari struktur sebelum penghentiannya seperti yang dilakukan dalam kode di atas (variabel1, variabel2) atau Anda dapat mendeklarasikan instance struktur di main (), dengan menulis nama instance yang didahului dengan nama struktur.// contoh. main () {sname S1, S2; } Di sini S1 dan S2 adalah contoh dari struktur. Contoh-contoh struktur disebut "variabel struktur". Elemen yang
dideklarasikan di dalam tubuh struktur dapat diakses melalui variabel struktur melalui penggunaan operator titik (.).// contoh S1. struct_element1;
Array struktur juga dapat dibuat, untuk ini, pertama-tama Anda harus mendeklarasikan struktur dan kemudian, mendeklarasikan array jenis itu.
// sample struct sname sarray [10];
Pernyataan di atas membuat array dengan nama 'sarray' yang berisi sepuluh variabel, dan masing-masing variabel diatur sebagaimana didefinisikan dalam 'sname'.
Anda bisa meneruskan anggota struktur ke suatu fungsi, dan Anda bisa meneruskan seluruh struktur ke suatu fungsi.
Seperti, integer pointer, pointer array, pointer struktur juga dapat dideklarasikan dengan menempatkan '*' di depan nama variabel struktur.
// sampel sname struct * S1;
catatan:Elemen 'struktur' disimpan di lokasi memori yang  berdekatan.
Kelas
Kelas dalam OOP mendefinisikan tipe baru yang berisi anggota data dan fungsi anggota, yang digunakan untuk mengakses anggota data kelas. Contoh kelas disebut "objek" yang masing-masing memiliki organisasi yang sama dengan kelas. Kelas adalah abstraksi yang logis, sedangkan objek memiliki keberadaan fisik. Kelas secara sintaksis mirip dengan struktur. Kelas dapat

dideklarasikan sebagai berikut.

class class_name {data pribadi anggota dan fungsi anggota. access_specifier type data_member; ketik mem_funct (daftar parameter) {. . }}  daftar objek;
unct (daftar parameter) {. . }} daftar objek; Di sini, kelas adalah kata kunci yang menyatakan
kepada kompiler bahwa suatu kelas telah dideklarasikan. Fitur utama dari OOP adalah
penyembunyian data yang dilakukan dengan menyediakan tiga penentu akses yang "publik",
"pribadi", "dilindungi". Jika Anda tidak menentukan specifier akses di kelas saat
mendeklarasikan anggota data atau fungsi anggota, secara default semua dianggap pribadi.
Penentu akses publik memungkinkan, fungsi, atau data untuk diakses oleh bagian lain dari
program Anda. Anggota pribadi kelas hanya dapat diakses oleh anggota kelas itu saja. Specifier
akses yang dilindungi diterapkan selama pewarisan. Setelah Anda menyatakan specifier akses,
itu tidak dapat diubah di seluruh program.Objek tidak lain adalah instance dari kelas. Anggota
kelas diakses oleh objek dari kelas yang sama menggunakan operator titik
(.).//object.mem_funct (argumen); Objek juga bisa diteruskan sebagai argumen ke suatu
fungsi.Pointer ke objek juga bisa dibuat.
•Fokus pembahasan adalah aspek pembentukan obyek. Tidak membahas aturan (rule) berkaitan dengan class dalam C++ secara komprehensif.
•Constructor merupakan anggota class yang berperan dalam pembentukan obyek. Compiler menambahkan constructor bilamana diperlukan ke class yang tidak mempunyai constructor. Constructor tidak harus mempunyai akses public. Inisialisasi data menggunakan constructor dapat dilakukan dengan cara member initialization dan assignment. Keduanya tidak mempunyai perbedaan signifikan untuk data biasa (built-in type seperti char, int,
float, dll). Cara member initialization lebih efisien untuk data berupa class (user-defined type).
•Constructor dengan satu argumen dapat digunakan untuk konversi tipe data secara implisit. C++ menyediakan explicit untuk mengubah perilaku ini, karena hal tersebut melonggarkan janji C++ sebagai bahasa yang mengutamakan strict type (type safe).
•Sebuah class membutuhkan copy constructor dan copy assignment operator untuk menggandakan obyek suatu class. Hal ini terjadi juga pada saat memanggil suatu fungsi dengan cara pass-by-value. Apabila suatu class tidak mempunyai copy constructor dan copy assignment maka compiler menambahkannya. Copy constructor dan copy assignment hasil tambahan compiler bekerja dengan cara memberwise copy dan menghasilkan shalow copy
untuk data dengan alokasi memori dinamik.
•Destructor merupakan anggota class yang berfungsi pada saat lifetime suatu obyek habis. Destructor sebuah base class sebaiknya virtual.
•Constructor selalu merupakan fungsi non-virtual. Efek virtual constructor dan virtual copy constructor mungkin diperlukan dalam suatu desain. Efek virtual constructor dapat diwujudkan melalui sifat polimorphisme class. Efek virtual copy constructor dapat diwujudkan memanfaatkan aspek covariant return type sebuah hirarki class. Kedua hal tersebut memerlukan pembahasan khusus.

•Pembahasan pembentukan obyek belum dikaitkan dengan jenis scope yang ada dalam C++. C++ mempunyai jenis scope yang lebih kaya dibandingkan bahasa C, selain file scope, function scope, dan block scope C++ memiliki class scope dan namespace scope. Salah satu panduan praktis bahkan menyarankan untuk menunda (lazy initialization) pembentukan obyek selagi belum diperlukan.

•Pembentukan suatu obyek mungkin saja gagal. Artikel ini tidak membahas mengenai kegagalan pembentukan obyek, karena pembahasan tersebut berkaitan pembahasan exception dalam C++. Pembahasan exception C++ (exception safety) merupakan topik tersendiri.
Fungsi Struktur dan Kelas
Fungsi atau kegunaan struktur organisasi adalah sebagai dasar:
•Pembagian kerja

•Perumusan tujuan

•Manajemen kerja

•Unsur administrasi

•Pekerjaan melayani

•Menjelaskan tanggung jawab

•Menjelaskan kedudukan

•Menjelaskan jalur hubungan

•Menjelaskan uraian tugas


Penggunaan struktur dan kelas

Structure (struktur) adalah kumpulan elemen-elemen data yang digabungkan menjadi satu kesatuan. Masing-
masing elemen data tersebut dikenal dengan sebutan field. Field data tersebut dapat memiliki tipe data yang sama
ataupun berbeda. Walaupun fieldfield tersebut berada dalam satu kesatuan, masing-masing field tersebut tetap
dapat diakses secara individual.
Field-field tersebut digabungkan menjadi satu dengan tujuan untuk kemudahan dalam operasinya. Misalnya
Anda ingin mencatat data-data mahasiswa dan pelajar dalam sebuah program, Untuk membedakannya Anda dapat
membuat sebuah record mahasiswa yang terdiri dari field nim, nama, alamat dan ipk serta sebuah record pelajar
yang terdiri dari field-field nama, nonurut, alamat dan jumnilai. Dengan demikian akan lebih mudah untuk
membedakan keduanya.
Class adalah prototype, atau blueprint, atau rancangan yang mendefinisikan variable dan method-methode pada
seluruh objek tertentu. Class berfungsi untuk menampung isi dari program yang akan di jalankan, di dalamnya
berisi atribut / type data dan method untuk menjalankan suatu program.
Class merupakan suatu blueprint atau cetakan untuk menciptakan suatu instant dari  object. class juga
merupakan grup suatu object dengan kemiripan attributes/properties, behaviour dan relasi ke object lain. Contoh :
Class Person, Vehicle, Tree, Fruit dan lain-lain.
CONTOH KASUS DAN PENYELESAIANNYA
S TR U KT U R
B e n tu k u m u m
Untuk menggunakan struktur, tulis nama struktur beserta
dengan fieldnya yang dipisahkan dengan tanda titik (“ . “).
Misalnya Anda ingin menulis nim seorang mahasiswa ke layar
maka penulisan yang benar adalah sebagai berikut:

Contoh  
KELAS

• Bentuk sederhana deklarasi


class adalah sebagai berikut,

• class C { }; atau struct C { };

Contoh: 
ClassMahasiswa, ClassDosen, Class Flo Berdasarkan Gambar di atas, data dan fungsi yang berada di
wers.
dalam sebuah  class  disebut sebagai anggota dari suatu  class.
Data pada suatu  class digunakan untuk memegang informasi
yang ada pada  class  tersebut, sedangkan fungsi digunakan
sebagai  behavior  dari  class  tersebut.
Untuk pembuatan sebuah  class, dimulai dengan kata kunci  class dan diikuti d e n g a n   n a m a   k e l a sn y a , dibuka

dengan{, isidariclass, ditutupdengan};. Berikut adalah sintaks pembuatan  class:

Contoh
Seperti yang telah disebutkan di atas, pendefinisian suatu kelas
dimulai dengan kata kunci class dan diikuti dengan nama
kelas Box dalam kasus ini. Isi dari suatu kelas ditandai
dengan { dan diakhiri dengan } diikuti;. Kata kunci public pada
contoh di atas menentukan cara pengaksesan anggota kelas.
Anggota kelas public dapat diakses di kelas manapun.Terdapat
beberapa jenis pengaksesan anggota kelas lainnya (access
specifier) yang akan dibahas pada bab Encapsulation.
•M e m b e r c l a s s
•S e p e r t i y a n g t e l a h d i s i n g g u n g s e b e l u m n y a b a h w a d a t a d a n f u n g s i d i d a l a m s u a t u   c l a s s   d i s e b u t d e n g a n a n g g o t a
suatu class.Perhatikan contoh berikut ini:

Berdasarkan contoh di atas, length, breadth dan height merupakan


data member dari class Box; sedangkan print merupakan function
member (member fungsi) dariclassBox.
Pengenalan objek
•Jika class menyediakan blueprint untuk membuat objek, maka, secara dasarnya,
objek dibentuk dari suatu  class. Pada intinya, objek adalah suatu kumpulan yang
memiliki atribut dan metode yang sama ( instance dari class). Dalam konteks
variabel, suatu class dapat dianggap sebagai tipe data, dan objek sebagai
variablenya.
•Contoh: Dari class Flowers dapat dihasilkan objek Rose, Orchid, SunFlower, dsb.
•Sintaks untuk membuat sebuah objek ialah:

Berdasarkan contoh kelas Box di atas, maka objeknya ialah :


Berdasarkan contoh di atas, terdapat dua buah objek yang berasal dari kelas Box, yaitu obj1 dan
obj2.
M e ng a k s e s D at a Me m b e r dan Fu n c t io n Member
D a t am e m b e r   da n   m e m b e rf u n ct io n   ( a n g g o ta d a ta d a n f u n gs i ) d a p a t d ia k s e s
d e n g an m e n g g u n a k an o p e r a to r ( .) . Se c a r a umum, s in ta k s u n tu k
m e n g a k s e s  d a t a m e m b e r  a t a u pu n   fu n c ti on m em b e r  i a la h :

Berikut merupakan contoh keseluruhan penggalan kode yang telah


dibahas:
Hasilnya ialah:

Volume of Box1 : 72
Volume of Box2 :1440
IMPLEMENTASI DALAM
BAHASA PEMROGRAMAN
STRUKTUR

Contoh program: 1.
IMPLEMENTASI DALAM
BAHASA PEMROGRAMAN
STRUKTUR

Output:
IMPLEMENTASI DALAM
BAHASA PEMROGRAMAN
KELAS

Contoh program: 1.
IMPLEMENTASI DALAM
BAHASA PEMROGRAMAN
KELAS

Output:
THANK YOU

Anda mungkin juga menyukai