TUGAS PENDAHULUAN - imaru.files.wordpress.com file · Web viewTUGAS PENDAHULUAN. PRAKTIKUM BAHASA...

13

Click here to load reader

Transcript of TUGAS PENDAHULUAN - imaru.files.wordpress.com file · Web viewTUGAS PENDAHULUAN. PRAKTIKUM BAHASA...

Page 1: TUGAS PENDAHULUAN - imaru.files.wordpress.com file · Web viewTUGAS PENDAHULUAN. PRAKTIKUM BAHASA PEMROGRAMAN 2. ... Decision j

TUGAS PENDAHULUANPRAKTIKUM BAHASA PEMROGRAMAN 2

MODUL 7 “ INHERITANCE ”

Oleh :Sesi E1

☺ ACHMAD FARID ( 0734010211 )

Tim Asisten :MAMIK ELISAH ( 0634010151 )YANICA ( 0634210309 )

LABORATORIUM BAHASA PEMROGRAMANTEKNIK INFORMATIKA – FTI

UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN” JATIM

Page 2: TUGAS PENDAHULUAN - imaru.files.wordpress.com file · Web viewTUGAS PENDAHULUAN. PRAKTIKUM BAHASA PEMROGRAMAN 2. ... Decision j

2009

LEMBAR PENGESAHAN

Mahasiswa dengan keterangan sebagai berikut :

Nama : ACHMAD FARID

NPM : 0734010211

Sesi : E1

Judul Modul : INHERITANCE

Surabaya, ........Desember 2009

Tim asisten

______________________

...................................

NPM : 0634010......

Page 3: TUGAS PENDAHULUAN - imaru.files.wordpress.com file · Web viewTUGAS PENDAHULUAN. PRAKTIKUM BAHASA PEMROGRAMAN 2. ... Decision j

I. Dasar Teori INHERITANCE

Fitur lain yang disediakan oleh konsep OOP adalah adanya mekanisme

inheritance /pewarisan. Ide dasar pewarisan adalah untuk

meningkatkan kemampuan program supaya dapat dipakai kembali

ketika dibutuhkan. Dengan kata lain menghindari terjadinya

redundancy(penulisan yang sama) source code.

Dalam implementasinya sendiri, pewarisan berarti menurunkan

beberapa atau bahkan semua atribut dari class induk ke class anak.

Terdapat dua jenis pewarisan, yaitu

1. pewarisan bersifat public artinya atribut dan operasi yang

didapat dari class induk akan diletakkan di bagian public class

turunan/anak.

2. pewarisan bersifat private artinya atribut dan operasi yang

diwarisi dari class induk akan diletakkan di bagian private class

turunan/anak.

Dengan catatan bahwa bagian private dari class induk tidak akan

pernah diwariskan kepada anaknya. Namun konsep OOP menawarkan

solusi yang bernama visibility modifier protected, yang berarti bagian

private yang bisa diwariskan.

Struktur model pewarisan dalam bahasa C++ cukup beragam.

Diantaranya:

Page 4: TUGAS PENDAHULUAN - imaru.files.wordpress.com file · Web viewTUGAS PENDAHULUAN. PRAKTIKUM BAHASA PEMROGRAMAN 2. ... Decision j

II. Soal Buat program OOP lengkap dengan Pewarisan tentang Penjualan Voucher Pulsa ?

Page 5: TUGAS PENDAHULUAN - imaru.files.wordpress.com file · Web viewTUGAS PENDAHULUAN. PRAKTIKUM BAHASA PEMROGRAMAN 2. ... Decision j

III. Algoritma1. Start2. Inisialisasi harga awal yaitu int n=0;int kode;char namabr[10];char

namabl[10];floatharga,pbeli,ptotal,jumlah;data[50];charlagi,kode,kbeli[10]

;float beli,tmbh;float temp

3. Melakukan proses yaitu int pil,char ulang

4. Masukan cetak data yang terdiri dari voucher IM3,XL,laporan

5. Pilih menu

6. Jika pilih 1 dan ya maka

a. Lakukan proses int pil1,char ulang1

b. Pilih menu provider IM3

c. proses data voucher IM3

d. inptkan nama,harga,jumlah voucher IM3

e. proses total harga

f. apakah ingin menambah lagi?

g. Jika ya ke no 6c dan jika tidak ke no 6b

7. Jika tidak maka ke menu pilih 2

8. Jika pilih 2 dan ya maka

a. Lakukan proses int pil2,char ulang2

b. Pilih menu provider XL

c. proses data voucher XL

d. inptkan nama,harga,jumlah voucher XL

e. proses total harga

f. apakah ingin menambah lagi?

g. Jika ya ke no 8c dsn jika tidak ke no 8b

9. Jika tidak maka ke menu pilih 3

a. Jika pilih 3 dan ya maka

b. Proses perulangan jika j=0 maka

c. Decision j<n bila ya ke inisialisasi kode,nama,jumlah,harga dan

total harga voucher hp

d. Bila tidak ke ke no 2

10. Jika tidak maka selesai.

Page 6: TUGAS PENDAHULUAN - imaru.files.wordpress.com file · Web viewTUGAS PENDAHULUAN. PRAKTIKUM BAHASA PEMROGRAMAN 2. ... Decision j

5. Flowchart :

Page 7: TUGAS PENDAHULUAN - imaru.files.wordpress.com file · Web viewTUGAS PENDAHULUAN. PRAKTIKUM BAHASA PEMROGRAMAN 2. ... Decision j

Source Code#include<iostream.h>#include<stdio.h>#include<conio.h>#include<string.h>int n=0;

struct{int kode;char namabr[10];char namabl[10];float harga,pbeli,ptotal,jumlah;

}data[50];char lagi,kode,kbeli[10];float beli,tmbh;float temp;class voucherXL{

public:void input(){ do{ printf("\n"); data[n].ptotal=0; data[n].kode = 0; strcpy(data[n].namabl," "); data[n].kode =data[n].kode+ 1; strcpy(data[n].namabr,""); data[n].jumlah=0; printf("Masukkan Harga @voucher : ");cin>>data[n].harga; printf("Masukkan jumlah voucher yang dibeli : ");cin>>data[n].jumlah; data[n].ptotal=data[n].jumlah*data[n].harga; n++; printf("\nTambah lagi (y/t)? ");lagi=getche(); } while(lagi=='y' || lagi=='Y');}void input(int kode){ do{

Page 8: TUGAS PENDAHULUAN - imaru.files.wordpress.com file · Web viewTUGAS PENDAHULUAN. PRAKTIKUM BAHASA PEMROGRAMAN 2. ... Decision j

printf("\n"); data[n].ptotal=0; data[n].kode = 0; strcpy(data[n].namabl," "); data[n].kode =data[n].kode+ kode; strcpy(data[n].namabr,""); printf("\nNama Voucher : %s\n",data[n].namabr); data[n].jumlah=0; printf("Masukkan Harga @voucher : ");cin>>data[n].harga; printf("Masukkan jumlah voucher yang dibeli : ");cin>>data[n].jumlah; data[n].ptotal=data[n].jumlah*data[n].harga; n++; printf("\nTambah lagi (y/t)? ");lagi=getche(); } while(lagi=='y' || lagi=='Y');}void output(){

for(int j=0; j<n ;j++){printf("\n=========================================");printf("\nKode Voucher : %d",data[j].kode);printf("\nNama Voucher : %s",data[j].namabr);printf("\nJumlah Voucher : %0.0f",data[j].jumlah);printf("\nHarga @Voucher : %0.2f",data[j].harga);printf("\n=========================================");printf("\nTotal Harga yang harus dibayar adalah %0.2f",data[j].ptotal);}

}};class voucherIM3:public voucherXL{public:

void max(voucherXL xl,voucherIM3 im3){for(int j=0; j<n ;j++){

printf("\n=========================================");printf("\nKode Voucher : %d",data[j].kode);printf("\nNama Voucher : %s",data[j].namabr);printf("\nJumlah Voucher : %0.0f",data[j].jumlah);printf("\nHarga @Voucher : %0.2f",data[j].harga);printf("\n=========================================");printf("\nTotal Harga yang harus dibayar adalah %0.2f",data[j].ptotal);}

} };

void main(){voucherIM3 im3;

Page 9: TUGAS PENDAHULUAN - imaru.files.wordpress.com file · Web viewTUGAS PENDAHULUAN. PRAKTIKUM BAHASA PEMROGRAMAN 2. ... Decision j

voucherXL xl;int pil;char ulang;printf("\n|No | Menu Voucher |");printf("\n|===|========================|");printf("\n| 1 |Voucher IM3 |");printf("\n| 2 |Voucher XL |");printf("\n| 3 |Laporan |");printf("\n|___|________________________|");do{printf("\n\nPilih menu : ");scanf("%d",&pil);

switch(pil){case 1:int pil1;char ulang1;printf("\n|No | Provider Indosat IM3 |");printf("\n|===|========================|");printf("\n| 1 |Isi Voucher |");printf("\n|___|________________________|");do{printf("\n\nPilih menu : ");scanf("%d",&pil1);

switch(pil1){case 1:xl.input();break;printf("\nUndefined menu !");}printf("\nIngin pilih menu Provider lagi (y/t)? ");ulang1=getche();

}while(ulang1=='y' || ulang1=='Y');break;case 2:int pil2;char ulang2;printf("\n|No | Provider Indosat XL |");printf("\n|===|========================|");printf("\n| 1 |Isi Voucher |");printf("\n|___|________________________|");do{printf("\n\nPilih menu Provider: ");scanf("%d",&pil2);

switch(pil2){case 1:xl.input();break;printf("\nUndefined menu !");}

Page 10: TUGAS PENDAHULUAN - imaru.files.wordpress.com file · Web viewTUGAS PENDAHULUAN. PRAKTIKUM BAHASA PEMROGRAMAN 2. ... Decision j

printf("\nIngin pilih menu Provider lagi (y/t)? ");ulang2=getche();}while(ulang2=='y' || ulang2=='Y');break;case 3:im3.max(xl,im3);break;default:printf("\nUndefined menu !");}printf("\nIngin pilih menu Voucher lagi (y/t)? ");ulang=getche();

}while(ulang=='y' || ulang=='Y');}6. Output

Tampilan program Pulsa

Page 11: TUGAS PENDAHULUAN - imaru.files.wordpress.com file · Web viewTUGAS PENDAHULUAN. PRAKTIKUM BAHASA PEMROGRAMAN 2. ... Decision j