Social Project CB Interpersonal 4

1432479909541

1432496773029

Waktu: 24 Mei 2015

Hari ini merupakan kegiatan terakhir kami untuk projek sosial CB Interpersonal sehingga kami berencana untuk melakukannya dengan sebaik mungkin dan menyenangkan.Kami mulai belajar pada pukul 13.50,yang saya ajarkan pada hari ini adalah IPS untuk seorang siswa yang akan menghadapi ujian sekolah pada keesokan harinya,lalu saya mengajari anak-anak yang lain bagaimana cara untuk menggambar,mereka sangatlah antusias terhadap yang saya ajarkan dan membuat saya merasa senang.Di akhir pengajaran yaitu pukul 15:00 kami membagikan mereka pizza untuk disantap bersama sebagai snack setelah belajar.Kami berfoto untuk terakhir kalinya pada hari ini dengan menggunakan almamater Universitas Bina Nusantara dan berpamitan dengan anak-anak dan berharap bahwa kegiatan yang telah kami lakukan dapat membantu mereka dalam kegiatan pembelajaran.

Social Project CB Interpersonal 3

1432479766809

1432479846923

Waktu: Sabtu 2 Mei 2015

Pada minggu ini kami masih dalam minggu minggu ujian tengah semester namun kami berkesempatan lagi untuk berkunjung dan mengajar di Yayasan Khazanah Kebajikan.Tak lupa sebelum berangkat kami membeli makanan ringan di minimarket terdekat untuk diberikan kepada anak-anak setelah belajar.Pada hari ini kami membantu mereka dengan mengajari materi yang mereka dapatkan sebagai pekerjaan rumah(PR).Kami mengajar dari pukul 13:45 hingga 15:40.
Setelah selesai mengajar kami pun membagikan snack yang sudah kami beli kepada anak-anak dan berpamitan untuk pulang.

Social Project CB Interpersonal 2

1432479562524

1432479522675

Waktu: Minggu 18 April 2015

Pada hari ini kami berkumpul di Indomaret Point di dekat Universitas Bina Nusantara sebelum kembali berangkat ke Yayasan untuk mengajar.Pada hari ini kami tidak mengajar anak-anak sendirian melainkan bersama dengan mahasiswa dari Universitas Mercu Buana yang juga singgah untuk melakukan kegiatan sosial dan mengajar anak-anak bersama kami.Kami menyambut baik mereka dan kami pun juga disambut dengan baik karena kami semua memiliki tujuan yang baik yaitu untuk mengajar dan membantu anak-anak yang kurang mendapat perhatian dari masyarakat.Kami mulai mengajar dari pukul 15.00 -16.00 WIB.Setelah selesai mengajar,kami pun menghibur anak-anak dengan sulap dan permainan agar mereka tidak merasa jenuh.Pukul 17.00 setelah puas bermain kami pun berfoto dengan anak-anak dan mahasiswa/i dari Universitas Mercu Buana lalu berpamitan dan kembali ke rumah masing-masing.

Social Project CB Interpersonal 1

1432479947625

1432479985062

1432480011986

Nama: Patrick Aditya FW
NIM:1701293490
Waktu: Sabtu 17 April 2015

Saya dan anggota kelompok pergi ke daerah Joglo,Jakarta Barat untuk berkunjung ke Yayasan Panti Khazanah Kebajikan dang mengajar anak-anak panti asuhan sebagai Tugas Project CB Interpersonal.Sebelumnya kami sudah membeli berbagai macam kue jajanan pasar sebagai snack untuk diberikan kepada anak-anak panti sesudah kegiatan pembelajaran selesai.Kami berangkat dari Binus pukul 02.00 setelah selesai kelas pelajaran Artificial Intelligence dan sampai di lokasi setelah sekitar 10menit perjalanan.

Suasana pertama kali saat datang ke panti sedikit canggung karena kami belum mengenal anak-anak dari panti tersebut dan mereka masih belum mengenal kami.Setelah pengenalan singkat kami pun membagi anak-anak per jenjang pendidikan agar lebih mudah membantu memfokuskan pelajaran yang kami berikan.Saya mendapat tugas untuk membantu seorang siswa kelas 6sd yang hendak mengikuti ujian nasional dengan mengajar pelajaran matematika.

Setelah kegiatan pembelajaran selesai kami membagikan snack kepada anak-anak yang sudah kami beli sebelum berangkat.Hari pertama yang melelahkan namun menyenangkan.Setelah berpamitan dengan anak-anak kami menemui Ibu Kepala Panti untuk menceritakan bagaimana kesan-kesan kami selama mengajar tadi dan ibu Panti juga bercerita banyak tentang anak-anak dan bagaimana kami sangat berterimakasih karena melalui program Binus ini kami diajarkan untuk lebih peduli terhadap sesama yang membutuhkan

Data Structure Infix->Postfix

#include
#include
#include

struct stack{
char x;
struct stack *next;
} ;

struct stack *push(struct stack *top, char val){
struct stack *ptr;
ptr=(struct stack*) malloc (sizeof(struct stack*));
ptr->x=val;
if (top==NULL){
top=ptr;
top->next=NULL;
} else {
ptr->next=top;
top=ptr;
}
return top;
}
struct stack *pop (struct stack *top)
{
struct stack *ptr;
ptr=top;
if(top==NULL){
printf(“\n STACK UNDERFLOW”);
}
else
{
top = top -> next;
}

return top;
}
int preced(char val) {
if(val==’+’ || val==’-‘) return 1;
else if (val==’*’ || val==’/’) return 2;
else if (val=='(‘) return 0;
};

void main(){
char infix[51],postf[51]=””;
struct stack *opr;
opr=(struct stack*) malloc (sizeof(struct stack*));
opr=NULL;

int n=0,counter;
do{
printf(“Enter infix string [0-50 digit, single number only] : “);
scanf(“%s”,&infix) ;fflush(stdin);

for(int i=0;i=’0′ && infix[i]<='9')
|| infix[i]=='+'
|| infix[i]=='-'
|| infix[i]=='*'
|| infix[i]=='/'
|| infix[i]=='('
|| infix[i]==')') counter=1;
else {counter=0; break;}
}
} while (counter!=1);

for(int i=0;i=’0’ && infix[i]x!='(‘){
postf[n]=opr->x; n++;
opr=pop(opr);
} opr=pop(opr);
continue;
}

if(opr!=NULL && (preced(infix[i]) x))){
if (preced(infix[i]) == preced(opr->x)){
postf[n]=opr->x; n++;
opr=pop(opr);
opr=push(opr,infix[i]);
} else {
while(opr!=NULL && preced(infix[i]) x)){
postf[n]=opr->x; n++;
opr=pop(opr);
}
opr=push(opr,infix[i]);
}
}
else {
opr=push(opr,infix[i]);
}
}

}
while(opr->next!=NULL){
postf[n]=opr->x; n++;
opr=pop(opr);
} postf[n]=opr->x; n++;
opr=pop(opr);

printf(“\nPostfix: “);
for(int i=0;i<strlen(postf);i++) printf("%c",postf[i]);

getchar();
}

Data Structure Tree

#include
#include

struct stack
{
int data;
struct stack *left,*right,*parent;
} *head,*temp,*curr;

struct stack *push (struct stack *head, int val){
curr=head;
if(head==NULL){
head=(struct stack*) malloc (sizeof(struct stack*));
head->data=val;
head->parent=NULL;
head->left=NULL;
head->right=NULL;
} else {
while(curr!=NULL){
temp=curr;
if(valdata){
curr=curr->left;
} else {
curr=curr->right;
}
}
curr=(struct stack*) malloc (sizeof(struct stack*));
curr->data=val;
curr->parent=temp;
if(curr->datadata){
temp->left=curr;
} else temp->right=curr;
curr->left=NULL;
curr->right=NULL;
}

return head;
}

struct stack *preorder(struct stack *head) {
if (head == NULL) return head;
printf(“%d “,head->data);
preorder(head->left) ;
preorder(head->right);

};

void main()
{
int val;
printf(“Masukkan 10 digit angka [1-50]\n\n”);
for (int i=0;i<10;i++) {
do {
printf("Angka ke-%d : ",i+1);
scanf("%d",&val); fflush(stdin);
} while (val50);
head=push(head,val);
}

printf(“\n”);
preorder(head);

getchar();
}

Tugas Struktur Data 2

#include
#include

struct data{
int angka;
struct data *next;
struct data *prev;
}*head=NULL,*tail,*curr;

void pushbelakang(int angka){
curr=(struct data*)malloc(sizeof(struct data));
curr->angka=angka;
if(head==NULL)
{
head=tail=curr;
tail->next=NULL;
head->prev=NULL;
}
else{
tail->next=curr;
curr->prev=tail;
tail=curr;
tail->next=NULL;
}
}

void pushdepan(int angka){
curr=(struct data*)malloc(sizeof(struct data));
curr->angka=angka;
if(head==NULL)
{
head=tail=curr;
tail->next=NULL;
head->prev=NULL;
}
else{

head->prev=curr;
curr->next=head;
head=curr;
head->prev=NULL;

}
}
void cetak(){
curr=head;
if(head==NULL){
printf(“data kosong”);
}
else
{
printf(“NULL”);
while(curr!=NULL)
{
printf(” %d “,curr->angka);
curr=curr->next;
}
printf(“NULL”);
}
}

void pushmid(int angka){
struct data *temp;
temp=head;

if(head==NULL){
printf(“Data Kosong”);
}
else
{
struct data *temp;

curr=(struct data*)malloc(sizeof(struct data));
curr->angka=angka;
head->next=curr;
curr->prev=head;
curr->next=tail;
tail->prev=curr;
tail->next=NULL;
}

}

void main(){
pushdepan(1);
pushbelakang(3);
cetak();
printf(“\n”);
pushmid(2);
cetak();
printf(“\n”);
pushdepan(5);
pushbelakang(0);
cetak();

getchar();
}

TM2 Object Oriented Programming

TM 02

1. Copy constructorsuatuklasdieksekusijikaobyekklas di-copydenganmekanisme di bawahinikecuali
a. direct assignment b. initialization
c. passing by value c. return by value

2. Fungsianggota yang otomatis di-createolehkompilatormeskipuniatidaksecaraeksplisitditulisolehpemrogramdalamdefinisiklasadalahopsi-opsi di bawahinikecuali
a. default constructor b. copy constructor
c. destructor d. overloaded constructor

3. Level aksesutility functionatauhelper functionsuatuklasadalah
a. public b. protected c. private d. inline

4. Untuk class X, sintakscopy constructoradalah
a. X(& X) b. X(const X&)
c. X(const &X) d. X(X &)

5. C++ classmempunyai
a. satukonstruktordansatu destructor
b. lebihdarisatukonstruktordansatu destructor
c. satukonstruktordanlebihdarisatu destructor
d. lebihdarisatukonstruktordanlebihdarisatu destructor

6. Apakeluarandaripenggalan program berikutini:

class Rational {
public:
Rational() { cout<< “OBYEK LAHIR.\n”; }
~Rational() { cout<< “OBYEK MATI. \n”; }
private:
intnum, den;
};

main() {
{Rational x;
cout<< “SEKARANG x HIDUP.\n”;
}
cout<< “ANTAR BLOK.\n”;
{Rational y;
cout<< “SEKARANG y HIDUP.\n”;
}
}

7. Uraikanapa yang kamuketahuitentang constructor, user defined constructor, default constructor, parameterized constructor, constructor initialization list, copy constructor dan destructor.

8. Uraikanapa yang kamuketahuitentangdefault arguments di C++. Sebutkanapasaja yangdapatdigunakansebagaidevalut value. Mengapanilaiconstanttidakdapatdigunakansebagaidefault valueuntukreference variable?

9. Apa yang dimaksuddenganfunction overloading? Kriteriaapa yang digunakanuntukmenyatakanbahwaduafungsidengannama yang samaadalahberbedasatusama lain.

10. Banyakpenulisbukumenyatakanbahwauntukclass X paling sedikitmempunyaisatuconstructoryaitudefault constructordengan prototype X(). Tetapi John Hubbard dalambukunyaProgramming with C++menyatakanbahwasetiapclass X paling sedikitmempunyaiduaconstructor yaitudefaultX() dancopy constructor yang prototipesintaksnyaadalahX (const X & ), fungsianggotadengansatu parameter danpass by constant reference.

TugasAnda:
a. Kapancopy constructordieksekusi?
b. Untukpenggalankodeberikutberapa kali copy constructordieksekusi?

class Rational {
public : Rational(int n, int d) : num(n), den (d) { }
Rational(const Rational & r) : num(r.num), den(r.den)
{ cout<Jumlah parameter
>Tipe parameter harus berbeda
>Urutan parameter harus berbeda

10.a.
>Jika objek baru dibuat sebelum pengkopian, disitulah saat copy constructor digunakan/dieksekusi.
>sebuah objek dicopy dengan cara inisialisasi deklarasi
>Sebuah objek digunakan sebagai parameter function menggunakan passed by value
>sebuah objek dijadikan nilai return suatu function

b.4 kali

Tugas Struktur Data 1

#include
#include
#include

struct data{
int angka;
struct data *next;
}*head=NULL,*tail,*curr;

void pushbelakang(int angka){
curr=(struct data*)malloc(sizeof(struct data));
curr->angka=angka;
if(head==NULL)
{
head=tail=curr;
tail->next=NULL;
}
else{
tail->next=curr;
tail=curr;
tail->next=NULL;
}
}

void print(){
curr=head;
if(head==NULL){
printf(“data kosong”);
}
else
{
while(curr!=NULL)
{
printf(“%d->”,curr->angka);
curr=curr->next;
}
printf(“NULL”);
}

}

int main(){

for(int i=0;i<10;i++){
int input;
printf("\nMasukkan angka yang ingin ditambahkan: ");
scanf("%d",&input);fflush(stdin);

pushbelakang(input);
print();
}
getchar();
return 0;
}

Tugas PBO tm 1

Patrick Aditya FW /02             PPT/1701293490

TM 01

  1. Ada tiga istilah yang saling berkaitan saat kita mulai mempelajari OOP yaitu ADT (Abstract Data Type), encapsulation dan class. Coba uraikan secara rinci apa yang dimaksud istilah-istilah tersebut. Selain itu berikan contoh-contohnya.

 

  1. Ada tiga karakteristik yang membedakan OOP dengan procedural programming yaitu ADT, inheritance dan dynamic binding, Dua topik teerakhir belum kita pelajari sehingga dalam soal ini kita hanya fokus pada ADT.

a. Apa yang dimaksud dengan ADT?

b. Apa yang dimaksud dengan propterties suatu ADT?

c. Mengapa kita memerlukan ADT?

d. Bagaimana suatu ADT berhubungan dengan ADT lain?

e. Apa yang dimaksud dengan ”…dalam ADT implementasi disembunyikan dari user…” Berikan contohnya.

 

  1. Esensinya tidak perbedaan mendasar antara  struct dan class tetapi kita lebih suka menggunakna class daripada struct. Uraikan mengapa kita lebih suka menggunakan class daripada struct?

 

  1. Esensinya class dan struct adalah sama dalam C++. Perbedaan yang signifikan di antara mereka adalah
    1. default akses class adalah private sedangkan struct adalah private
    2. default akses class adalah private sedangkan struct adalah public
    3. default akses class adalah public sedangkan struct adalah private
    4. default akses class adalah public sedangkan struct adalah public

 

  1. Interface suatu class terdiri dari

a. data anggota                                                    b. prototipe fungsi anggota

c. implementasi fungsi anggota                      d. data anggota dan prototipe fungsi anggota

 

-d1030-

 

1.

I.Tipe data abstrak (ADT) dapat didefinisikan sebagai model matematika dari objek data yang menyempurnakan tipe data dengan cara mengaitkannya dengan fungsi-fungsi yang beroprasi pada data yang bersangkutan.

Contoh ADT

A.Tipe jadi (built-in): boolean, integer, real, array, dll

B.Tipe buatan (user-defined): stack, queue, tree, dll

ADT Built-in:

Boolean

Nilai: true dan false

Operasi: and, or, not, xor, dll

Integer

Nilai: Semua bilangan

Operasi: tambah, kurang, kali, bagi, dll

B. ADT buatan (user-defined) :

Stack (tumpukan)

Nilai : elemen dalam stack

Operasi: create, destroy, push, pop

Queue (antrian)

Nilai: elemen dalam Queue

Operasi: create, destroy, enqueue, dequeue

, dll

 

II.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:

public class hewan {

String nama,jenis_kelamin,warna, makan;

public void set_nama(String nm){

nama=nm;

//System.out.println(“Nama aku “+nama);

}

String getnama()

{

return nama;

}

public void set_warna(String wn){

warna=wn;

System.out.println(“Warna aku “+warna);

}

public void makan(String mkn){

makan=mkn;

System.out.println(“makanan aku “+makan);}}

III.Enkapsulasi memiliki arti mengelompokkan program kedalam satu unit sehingga program menjadi mudah digunakan.

—  Mampu menangani berbagai input yang diberikan dan menghasilkan output yang benar.

—  Melindungi program dari pengaksesan variabel kritis oleh proses atau perubahan oleh programer selama tahap pembangunan program.

Contoh Enkapsulasi:

package cobapaket;

import pbo2011.Matriks;

 

public class aplikasimatrik {

int[][] A={{1,1,1},{2,2,2}};

int[][] B={{10,10,10},{20,20,20}};

 

public static void main(String args[])

{

aplikasimatrik am=new aplikasimatrik();

Matriks m=new Matriks();

int[][] C={{2,2,2},{2,2,2},{3,3,3}};

System.out.println(m.coba(“Saya”));

System.out.println(“Matriks A :”);

m.cetakmatrik(am.A);

System.out.println(“Matriks B :”);

m.cetakmatrik(am.B);

System.out.println(“Matriks A + Matris B :”);

m.cetakmatrik(m.matrikjumlah(am.A, am.B));

System.out.println(“Matriks A * Matriks C :”);

System.out.println(“Matriks A * Matriks B :”);

m.cetakmatrik(m.perkalianmatrik(am.A, am.B));

}

}

2. a.Tipe data abstrak (ADT) dapat didefinisikan sebagai model matematika dari objek data yang menyempurnakan tipe data dengan cara mengaitkannya dengan fungsi-fungsi yang beroprasi pada data yang bersangkutan.

b.Properties dari ADT adalah menjelaskan bagaimana object direpresentasikan dalam suatu program.

c. ADT diperlukan karena ADT dapat menyederhanakan program yang kompleks menjadi terorganisasi, dapat dimodifikasi, dan kompilasi terpisah, dan dapat diandalkan dengan menyembunyikan representasi data, sehingga pengguna (user) tidak dapat mengakses objek secara langsung.

d. ADT berhubungan dengan ADT yang lain dengan lain menggunakan access modifier yang merupakan kata kunci yang digunakan untuk menentukan spesifikasi tingkat akses suatu attribute atau method, yaitu public, protected, private.

e. Information hiding dapat membatasi pengaksesan data dari suatu ADT

Public : Bagian class yang dapat diakses oleh umum baik dari dalam maupun dari luar class

Protected : Bagian class yang dapat diakses oleh linkungan internal class dan class turunannya

Private : Bagian class yang hanya dapat diakses oleh linkungan internal class itu sendiri

 

3. . Perbedaan antara Class dan Struct:
– Class adalah sesuatu yang mempunyai data (sifat) dan fungsi (kelakuan) untuk mendeskripsikan suatu objek.
– Struct mendefinisikan tipe data dan memberitahukan kepada Visual C++ untuk memperlakukan koleksi tipe data dasar sebagai satu kesatuan tipe data, yang darinya dapat mendefinisikan variabel dan array variabel.

Kebanyakan memilih class karena kita dapat mengatur settingan class tersebut menjadi private,public ataupun protected sehingga kita dapat mengontrol siapa saja yang dapat mengakses data tersebut sehingga keamanan dan privasi data lebih terjamin.

 

4. Esensinya class dan struct adalah sama dalam C++. Perbedaan yang signifikan di antara mereka adalah default akses class adalah private sedangkan struct adalah public

 

5. Interface suatu class terdiri dari implementasi fungsi anggota.