Program struktur StrukturMhs.cpp #include <iostream.h> #include <conio.h> #include <string.h> struct Mhs { int nim; char nama[35]; char alamat[25]; };

dokumen-dokumen yang mirip
12.Objek. S. Indrianii L, M.T

Pemrograman Berorientasi Obyek (C++) Departemen Ilmu Komputer FMIPA IPB 2013

FUNGSI. tipe Tipe nilai yang dihasilkan oleh fungsi. Jika tidak dinyatakan, hasil fungsi dianggap bilangan bulat (int)

BAB XII. CLASS. #include <iostream.h> #include <conio.h> #include <string.h> struct mahasiswa { char nim[8]; char nama[20]; int umur; };

Komentar, Identifier, Konstanta dan Variabel

CLASS. Bentuk Umum : class nama_class { Data elemen_class ; ... Public : Data elemen_class ; Data elemen_class ; } nama_object; BENTUK

Penggunaan Private dan Public dalam C++

MENGENAL POINTER. Mengetahui Alamat variabel. Output :

LANGKAH-LANGKAH MENULISKAN PROGRAM DALAM TURBO C++

MODUL MATA KULIAH PEMROGRAMAN KOMPUTER

PENGANTAR BAHASA C++

MODUL PRAKTIKUM STRUKTUR DATA

Fungsi DASAR PEMROGRAMAN

Pengenalan C++ Oleh : Dewi Sartika

Bahasa C. Dosen : Dhamayanti

Struct & Pointer. Agung Sasongko, M.Kom

Konsep Dasar Pemrograman Dan Pengenalan C++

PEMROGRAMAN BERORIENTASI OBJEK. Tipe Data. Budhi Irawan, S.Si, M.T

P3 Dasar Struktur Data TIF42/SIF42

Kurikulum Qt. Chapter 5 Pointer dan References. Agenda. Apa itu Pointer? Memory Komputer. Mengambil Alamat Memory dari Variabel

PEMROGRAMAN BERORIENTASI OBJEK STRUCTURE & CLASS

Fungsi : Dasar Fungsi

LAPORAN RESMI. TIPE DATA ABSTRAK (TYPEDEF dan STRUCT)

Struktur Bahasa C dan C++

PERTEMUAN X. Gbr.1 Konsep program dibagi menjadi sejumlah modul. void main() { fungsi a();

MODUL 7 FUNGSI A. Tujuan. B. Petunjuk. C. Dasar Teori

PERTEMUAN VI POINTER 6.1 Tujuan Praktikum 6.2 Teori Penunjang Pointer

DISUSUN OLEH BAB IX. Structt. //untuk. long. int nip; char. nama[31]; char } HAL 1

PENGENALAN C++ DADANG MULYANA 2012

MI, KA-D3, SIA, SIB. ADI, S.Kom.

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

MODUL ALGORITMA DAN PEMROGRAMAN. STMIK AMIKOM Yogyakarta. Rajif Agung Yunmar, S.Kom., M.Cs.

Struktur Program C++ Preprocessor directive : perintah dalam bahasa c++ yang akan membuat dan mengkompilasi file perantara dengan program utama

OPERASI DASAR MASUKAN DAN KELUARAN

Keg. Pembelajaran 2 : Mengenal Bahasa C++

PEMROGRAMAN BERORIENTASI OBJEK. Input / Output. Budhi Irawan, S.Si, M.T

MODUL 9 STRUCT (STRUKTUR)

Fungsi DASAR PEMROGRAMAN

By : Agus Priyanto, M.Kom ST3 Telkom Purwokerto Structure and Pointer

ALGORITMA DAN PEMROGRAMAN 2. 3 SKS By : Sri Rezeki Candra Nursari

Keg. Pembelajaran 3 : Operator dalam Bahasa C++

MODUL ALGORITMA DAN PEMROGRAMAN. STMIK AMIKOM Yogyakarta. Rajif Agung Yunmar, S.Kom., M.Cs.

MODUL II VARIABEL, TIPE DATA & KONSTANTA

Modul 3 INPUT DAN OUTPUT

MENGAKSES ELEMEN STRUKTUR

MODUL PRAKTIKUM ALGORITMA DAN PEMROGRAMAN

A. TUJUAN 1. Menjelaskan tentang prinsip dasar fungsi. 2. Menjelaskan tentang.parameter formal dan parameter aktual

FUNGSI II. Variabel Statis. Sifat variabel statis: Sintaks: static tipe_data nama_variabel; Contoh: static int angka;

LAPORAN PRAKTIKUM RESMI QUEUE

int fungsi_2() { int main() { fungsi_1(); fungsi_2(); return 0;

Instalasi Code::Blocks, Tipe Data, Variabel, Konstanta, Operator, Input-Output dan Flowchart

VI. FUNGSI. Fungsi Main ( ) Fungsi a ( ) Fungsi b ( ) Fungsi c ( ) Fungsi c1 ( ) Fungsi c2 ( ) Fungsi c3 ( ) Bentuk umumnya :

VARIABEL & TIPE DATA PEMROGRAMAN C++

INHERITANCE. Oleh: Rasim ILKOM-FPMIPA-UPI

MODUL V POINTER DAN STRING

ALGORITMA DAN PEMROGRAMAN 2. 3 SKS By : Sri Rezeki Candra Nursari

5. Fungsi. S. Indrianii L, M.T

KU-1072 Pengenalan Teknologi Informasi - B. Materi: Array. Fakultas Ilmu dan Teknologi Kebumian

Pointer, File Header & Makro

BAB II TEORI DASAR. Gambar 1 Kurva untuk interpolasi linier. Sehingga diperoleh persamaan dari interpolasi linier sebagai berikut :

PRAKTIKUM 1 ALGORITMA & PEMROGRAMAN. 1. Mengenal C/C++

PEMROGRAMAN BERORIENTASI OBJEK OBJECT

PENGENALAN BAHASA C DAN C++

BAB VII. FUNCTION. A. Pengantar Function. #include <iostream.h> #include <conio.h> { clrscr(); // detail function

ALGORITMA DAN PEMROGRAMAN 2. 3 SKS By : Sri Rezeki Candra Nursari

mengatur jumlah digit pecahan yang diinginkan mengatur atau mengontrol sejumlah tanda format, misalkan rata kiri, kanan, huruf capital dll.

Fungsi 1 DASAR PEMROGRAMAN

Input dan Output. cout << Hello World\n ; atau. cout << Hello World << \n ;

DIKTAT MATA KULIAH PEMROGRAMAN I BAB IX STRUCT. tipe_data_1 variabel_1 ; tipe_data_2 variabel_2 ; tipe_data_n variabel_n ;

2 Class dan Object (1)

MODUL. Pointer. Modul Praktikum C++ Dasar Pemrograman Komputer JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK

PEMROGRAMAN BERORIENTASI OBJEK

MODUL IV OPERASI DASAR MASUKAN DAN KELUARAN

Pada prinsipnya operasi yang dilakukan pada file terdiri dari 3 tahapan : 1. Membuka file 2. Melakukan pemrosesan pada file 3.

Kuliah III - Dasar Pemrograman

BAB X. Struct Dalam C++, kita dapat membuat sebuah tipe data baru. Maka penulisan variabel baru kita akan menjadi:

Inheritance dan Polimorfisme

2. Uraian Materi. a. Pengertian Fungsi

DASAR PEMROGRAMAN. Institut Teknologi Sumatera

Kurikulum Qt. Chapter 4 Function. Fungsi

Modul program di dalam C++ disebut fungsi (function)

Senarai berantai. linked list. Pertemuan keenam Struktur data st3telkom.ac.id. by : tenia wahyuningrum & Sisilia Thya Safitri

Alpro & Strukdat 1 C++ (Sub Program) Dwiny Meidelfi, S.Kom., M.Cs.

Struct dan Fungsi. Pendahuluan. Objektif. Bahan Bacaan

REVIEW ARRAY. Institut Teknologi Sumatera

SOAL C++ Created by Yuli Astuti,S.Kom Copyright 2009

OPERASI PERNYATAAN KONDISI

Fungsi. Fungsi. Dasar Komputer & Pemrograman 1. dipecah Sub Program. Program. Dasar Komputer & Pemrograman TC22052 Kartika Firdausy - UAD

Dasar-Dasar OOP di Java

PRAKTIKUM 7 FUNGSI 1

C++ Mathematic Functions

Pemrograman I Bab III Tipe Data, Variabel, dan Operasi Perhitungan. Adam Mukharil Bachtiar, S.Kom. Universitas Komputer Indonesia

Algoritma dan Struktur Data Praktikum 3. Pointer

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA

OBJECT ORIENTED PROGRAMMINGS

Bab 8. Dasar-Dasar OOP

PENGENALAN C++ Bab 1

Notasi Algoritma Separator Special Character. Dasar Pemrograman. Yoannita, S.Kom.

pada program di atas, akan ditampilkan alamat memori dari variabel x, bukan nilai x.

Algoritma Pemrograman & Struktur Data

Transkripsi:

DARI STRUKTUR KE KELAS Kelas merupakan struktur data dari objek. Perbedaan utama dengan struktur terletak pada kata kunci pendeklarasian yaitu struct untuk struktur dan class untuk kelas. Untuk lebih jelasnya kita bandingkan program berikut ini : Program struktur StrukturMhs.cpp struct Mhs ; data.nim = 123; strcpy(data.nama, "Nanang"); strcpy(data.alamat, "Jogja"); cout <<"Nim = " << data.nim << endl; cout <<"Nama = " << data.nama << endl; cout <<"Alamat = " << data.alamat << endl; Out put : Nim = 123 Nama = Nanang Alamat = Jogja Program kelas ClassMhs.cpp ; // Pendefinisian obyek data.nim = 123; strcpy(data.nama, "Nanang"); strcpy(data.alamat, "Jogja"); cout <<"Nim = " << data.nim << endl; cout <<"Nama = " << data.nama << endl; cout <<"Alamat = " << data.alamat << endl; Out put : 1

Nim = 123 Nama = Nanang Alamat = Jogja Pendeklarasian Kelas Bentuk : Kata kunci mengawali pendeklarasian kelas ; Nama kelas Nama anggota kelas Deklarasi kelas diakhiri titik koma (;) Pendefinisian obyek Obyek Penggunaan Public Penggunaan kata public pada pendeklarasian kelas menunjukkan bahwa yang ada dibawahnya bisa diakses diluar kelas. Kata kunci pada kelas Mhs diatas disebut dengan penentu akses. Penggunaan Private Penentu akses private biasa digunakan dalam kelas untuk memproteksi anggota-anggota tertentu pada kelas, agar tidak dapat diakses diluar kelas secara langsung. Menambah Fungsi Anggota Konsep obyek pada C++ sebenarnya digunakan untuk menyatukan data dan fungsi yang mengakses data dalam suatu wadah. Selanjutnya data yang terletak dalam kelas disebut anggota data dan fungsi yang terletak dalam kelas disebut anggota fungsi. Pada pemrograman berorientasi objek data dan fungsi harus dirancang secara bersamaan. Misalkan terdapat data : Nomor induk mahasiswa Nama mahasiswa Alamat mahasiswa Diawal perancangan harus dipikirkan fungsi-fungsi dasar yang digunakan untuk mengakses ketiga data tersebut. Fungsi-fungsi anggota yang dimaksud dapat berupa : Mengisikan data Menampilkan data Kemudian juga perlu direncanakan data atau fungsi mana saja yang boleh diakses diluar obyek dan yang hanya digunakan secara internal oleh obyek itu sendiri. Dalam hal ini penentu akses public atau private yang menetukannya. 2

; void inisialisasi ( int Nim, char *Nama, char *Alamat) void info () //Fungsi utama Getch(); Pada program diatas kelas Mhs memiliki tiga buah anggota data (nim, nama, alamat) dan dua buah fungsi anggota (inisialisasi(), info()). Ketiga data anggota dinyatakan private, sehingga tidak dapat diakses diluar kelas. Namun anggota data tersebut dapat diakses oleh kedua fungsi anggota, dan semua fungsi anggota dapat diakses diluar kelas, mengingat dinyatakan dalam public. Pendefinisian anggota kelas mempunyai aturan seperti halnya fungsi biasa. void inisialisasi ( int Nim, char *Nama, char *Alamat) fungsi anggota seperti diatas dapat mengenali variabel seperi nim, nama, alamat, yang tidak lain adalah anggota data dari kelas Mhs. Mendefinisikan Beberapa Obyek Beberapa obyek dengna kelas yang sama dapat didefinisikan sebagimana pendefinisian variabel biasa. Mhs data, biodata; Contoh program : void inisialisasi ( int Nim, char *Nama, char *Alamat) void info () 3

; //Fungsi utama Mhs data,biodata; Biodata.inisialisasi(124,"Budi","Jakarta"); biodata.info(); output : Nim = 123 Nama = Nanang Alamat = Jogja Nim = 124 Nama = Budi Alamat = Jakarta Hasil diatas menunjukkan bahwa data yang terkandung pada masing-masing obyek (data dan biodata) berbeda. Alternatif Penulisan Fungsi Anggota Penulisan fungsi anggota ada dua macam, cara pertama seperti diatas, kemudian cara kedua pada kelas hanya terdapat deklarasi fungsi anggota (prototipe) dan definisi fungsi anggota ditempatkan diluar kelas. void inisialisasi ( int Nim, char *Nama, char *Alamat); void info (); ; void Mhs::inisialisasi ( int Nim, char *Nama, char *Alamat) void Mhs::info () //Fungsi utama 4

Nama Parameter dan Anggota Data Sama Pada contoh pendefinisian fungsi anggota inisisalisasi() pada kelas Mhs void Mhs::inisialisasi ( int Nim, char *Nama, char *Alamat) nama parameter (argumen) dan data yang digunakan berbeda (terletak pada huruf awalnya). Hal ini tidak akan menimbulkan kerancuan. Berbeda halnya kalau nama parameter fungsi dan nama anggota data kelas ternyata sama, seperti contoh berikut : void Mhs::inisialisasi ( int nim, char *nama, char *alamat) nim = nim; strcpy(nama,nama); strcpy(alamat,alamat); Pada penulisan diatas kompiler tidak dapat membedakan antara parameter dan anggota data kelas. Tetapi jika kode dikompilasi ternyata kompiler tidak melaporkan adanya kesalahan. Mengapa? Tidak lain adalah dengan sendirinya kompiler menganggap semua data pada fungsi anggota diatas sebagai parameter. Sehingga nama anggota data kelas menjadi tersembunyi. Perlu ditekankan disini, bahwa kalau nama anggota data kelas teryata sama dengan nama parameter, nama anggota data tetap dapat diakses. pengaksessannya dengan menggunakan operator resolusi lingkup (::), dengan format : nama_kelas::nama_anggota_data; sehingga fungsi inisialisasi() dapat ditulis : void Mhs::inisialisasi ( int nim, char *nama, char *alamat) Mhs::nim = nim; strcpy(mhs::nama,nama); strcpy(mhs::alamat,alamat); Contoh program : void inisialisasi ( int nim, char *nama, char *alamat); void info (); ; void Mhs::inisialisasi ( int nim, char *nama, char *alamat) Mhs::nim = nim; strcpy(mhs::nama,nama); strcpy(mhs::alamat,alamat); void Mhs::info () 5

//Fungsi utama Nilai Balik Fungsi Anggota Fungsi anggota juga bisa mempunyai nilai balik : #include <iomanip.h> class Tanggal int tanggal; int bulan; int tahun; void beri_tanggal(int tanggal, int bulan, int tahun); void info(); int info_tanggal() return tanggal; ; int info_bulan() return bulan;; int info_tahun() return tahun;; ; Tanggal tanggal_lahir; tanggal_lahir.beri_tanggal(25,6,1991); tanggal_lahir.info(); cout << endl; cout <<"Tanggal : " << tanggal_lahir.info_tanggal() << '-' << tanggal_lahir.info_bulan() << '-' << tanggal_lahir.info_tahun(); void Tanggal::beri_tanggal(int tanggal, int bulan, int tahun) Tanggal::tanggal = tanggal; Tanggal::bulan = bulan; Tanggal::tahun = tahun; void Tanggal::info() cout << setfill('0'); cout << "Tanggal : " << setw(2) << tanggal << '/' << setw(2) << bulan << '/' << tahun << endl; cout << setfill(' '); Contoh lain : 6

private: int angka; public: void init(int Nim, char *Nama, int angka); void tampil(); char hrf(); ; Mhs data,biodata; int nomhs; char nmmhs[30];int nilangka; cin>>nomhs;cin>>nmmhs;cin>>nilangka; data.init(nomhs,nmmhs,nilangka); biodata=data; biodata.tampil(); void Mhs::init(int nim, char *nama, int angka) Mhs::nim=nim; strcpy(mhs::nama, nama); Mhs::angka=angka; void Mhs::tampil() cout<<"nim : "<<nim<<endl; cout<<"nama : "<<nama<<endl; cout<<"nilai : "<<angka<<endl; cout<<"huruf : "<<hrf()<<endl; char Mhs::hrf() if(angka>80) return('a'); else if(angka>70) return('b'); else if(angka>60) return('c'); else if(angka>50) return('d'); else return('e'); 7