Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nullam eu est quis enim commodo aliquet. Vestibulum eleifend venenatis massa. Curabitur rutrum accumsan felis. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Phasellus ut augue eu purus iaculis viverra. Maecenas vehicula dictum diam.

Read More

Laporan TFI Interpersonal Development 1701293010 Hari keempat

images

Kegiatan keempat di lakukan pada

Hari/tanggal                 :      Rabu, 13 Mei 2015

Tempat kegiatan          :     Sekolah Dasar Negeri Palmerah 23 Pagi 24 Pagi. Jl Sandang Kemanggisan RT.006/10. Kecamatan Palmerah, Jakarta Barat

Hari terakhir, kami pada hari ini tidak mengajar tetapi hanya berfoto foto  dan bermain dengan anak – anak sebagai kenangan terakhir kami dalam mengajar.

6efd68f1300cbcbea3f48bd23ce69dd36c61bb1 05b9e4ab383741041cb50924e4f27bd5e52a2ec

3d5aa3126ac9e2f374441c150f250fc65d64311

Banyak hal yang saya sendiri secara personal dapat, dimana saat saya mengajar dan di dengarkan serta bagaimana cara mengajar yang baik agar dapat didengar oleh anak – anak secara positif.

Sekian laporan dan kegiatan ini saya tutup.

Filed under:Uncategorized

Laporan TFI Interpersonal Development 1701293010 Hari ketiga

images

Kegiatan ketiga di lakukan pada

Hari/tanggal                 :        Selasa, 12 Mei 2015

Tempat kegiatan          :     Sekolah Dasar Negeri Palmerah 23 Pagi 24 Pagi. Jl Sandang Kemanggisan RT.006/10. Kecamatan Palmerah, Jakarta Barat

Pukul                           :        07.30 -09.30 WIB

Hari ketiga ini kami mengajari anak – anak untuk ketiga kalinya. Saya mengajari mereka tentang bangun bangun datar dan pada hari ketiga mereka lebih tenang dan mengamati saya dengan baik baik. Mungkin karena ada gurunya yang mendampingi anak anak dibelakang.

Mereka saya berikan soal soal dan mengerjakannya dengan cepat . Anggota lain membantu anak – anak yang lain dalam pengerjaan agar anak – anak yang kesulitan dapat terbantu. Setelah selesai, saya bermain gitar dan mengajak anak – anak untuk bernyanyi untuk memperingati hari ibu yang tidak terlalu jauh lewat.

a5a8d6bbbce10f22a51f82e9ca37b29e2966d66

Filed under:Uncategorized

Laporan TFI Interpersonal Development Hari kedua

images

Kegiatan kedua di lakukan pada

Hari/tanggal                 :        Senin, 11 Mei 2015

Tempat kegiatan          :     Sekolah Dasar Negeri Palmerah 23 Pagi 24 Pagi. Jl Sandang Kemanggisan RT.006/10. Kecamatan Palmerah, Jakarta Barat

Pukul                           :        07.30 -09.30 WIB

fc1b63dab64a4ee54d6df60d1f102f28b9598bf

Hari kedua , saya mengajari mereka tentang pecahan dan memberikan soal -soal yang cukup menguras logika mereka. Mereka sudah mulai terbiasa dengan pola mengajar saya , walaupun mereka masih bandel dan berlarian kemana mana.

Pengajaran ini berlangsung kurang lebih selama 1 jam setelah itu kami isi akhir acara dengan game dan tidak mengulangi kesalahan yang sama seperti di hari pertama. Game ini menggunakan bahasa Inggris yang sederhana hanya dengan menjawab bahasa Indonesia dari nama nama binatang dalam bahasa Inggris. Apabila di jawab dengan benar, anak anak akan mendapat permen walaupun akhirnya kami membagikan semua permen kepada anak anak. Saat game ini berlangsung saya kurang lebih duduk di belakang dan bercakap – cakap dengan anak – anak yang ternyata memang masih belum terbiasa dengan bahasa inggris.

Mereka berkata bahwa bahasa Inggris yang diajarkan cukup susah walaupun menurut kami game ini menggunakan bahasa Inggris yang hanya vocabulary saja yang mudah dimengerti. Mereka saya ajarkan pronouncation di belakang selama game ini berlangsung. Dan tidak terasa ternyata waktu sudah menunjukkan pukul 09.30 dan kami berpamitan pulang.

Filed under:Uncategorized

Laporan TFI Interpersonal Development 1701293010 hari pertama

images

Kegiatan pertama di lakukan pada

Hari/tanggal                 :        Kamis, 7 Mei 2015

Tempat kegiatan          :     Sekolah Dasar Negeri Palmerah 23 Pagi 24 Pagi. Jl Sandang Kemanggisan RT.006/10. Kecamatan Palmerah, Jakarta Barat

Pukul                           :        07.30 -09.30 WIB

Kegiatan ini kami selenggarakan berkelompok dan saya sendiri yang mendapatkan tugas untuk mengajar didepan kelas untuk anak kelas 3 di sekolah sdn palmerah 23 pagi 24 pagi ini.

2

Foto Pengajaran di dalam kelas

Kami mengawali kegiatan ini dengan perkenalan akan anggota kelompok kami di LI01. Saya sendiri bertugas sebagai sekretaris dalam kegiatan ini.

Saat berlangsungnya acara, saya mengajarkan didepan kelas mengenai matematika tentang perkalian. Anak – anak disini cukup bandel dan tidak menurut, akan tetapi mereka memiliki motivasi yang kuat untuk belajar sehingga saya tidak menyerah. Beberapa anak mengikuti dengan sungguh sungguh apa yang saya ajarkan dan saya cukup senang .

Setelah selesai mengajar saya memberikan soal untuk mereka mengerjakan, soal itu sejumlah 15 soal di papan tulis. Akan tetapi waktu yang saya perhitungkan salah sehingga acara game di akhir tidak dapat dilangsungkan dan kami harus meninggalkan murid murid tersebut pada pukul 09.30 tepat saat mereka istirahat.

Filed under:Uncategorized

Kuis dan TM 4

TM 04 : Class Time

 

  1. Desain klas dengan nama Time yang mempunyai tiga data anggota yaitu hour, minute dan second dengan level akses adalah private. Selain fungsi anggota baku constructor dan destructor, class Time juga mempunyai tiga fungsi anggota lain yang prototipenya adalah sebagai berikut: void setData() , fungsi konstant void geData() dan fungsi konstant void printData(). Tugas ketiga fungsi terakhir ini adalah sebagai berikut: fungsi setData() untuk memberi nilai hour, minute dan second , fungsi getData() untuk mengambil nilai data yang diisi oleh fungsi setData(), sedangkan fungsi printData() untukmencetak ketiga data anggota tersebut.

 

#include<iostream>

#include<string>

using namespace std;

 

Class Time(){

private :

int hour;

int minute;

int second;

public :

Time(){

int hour=0;

int minute=0;

int second=0;

}

~Time(){

cout<<data deleted<<endl;

}

void setData(int hour,int minute,int second);

void getData()const;

void printData()const;

 

 

 

  1.  Definisikan atau implementasikan constructor dan destructor di dalam klas sedangkan fungsi setData() , getData() dan printData() di luar klas Time. Untuk definisi fungsi yang ada di luar class jangan lupa untuk menggunakan scope resolution operator.

 

void Time :: setData(int hour,int minute,int second){

this->hour = hour;

this->minute=minute;

this->second=second;

}

 

int Time :: getData(int hour,int minute,int second){

return hour;

return minute;

return second;

}

 

void Time :: printData(){

getData();

cout<<hour<<endl;

cout<<minute<<endl;

cout<<second<<endl;

cin.get();

}

 

 

  1.  Berikan alasan mengapa fungsi getData() dan printData() perlu dibuat konstant?

 

Karena didalam fungsi getData() dan printData() tidak terjadi pengubahan data, dan untuk menghindari pengubahan data secara tidak sengaja maka fungsi getData() dan printData() dibuat konstan.

 

  1.  Selanjutnya tulis fungsi main() untuk mengetes klas yang Anda desain.

 

void main(){

Time obj;

int h,m,s;

obj.setData(12,12,12);

obj.getData(h,m,s);

cout<<h<<endl;

cout<<m<<endl;

cout<<s<<endl;

obj.printData;

}

 

 

I AM PROUD AS A BINUSIAN

 

Filed under:Uncategorized

Kuis dan TM 3

TM 03 : ADT Array dan Struct

 

 

Array adalah suatu ADT. Seperti halnya ADT lain, array mempunyai data anggota dan operasi, metode atau fungsi anggota. Elemen array diakses berdasarkan posisinya di dalam array relatif terhadap elemen pertama. Operasi utama array adalah store dan retrieve. Operassi store untuk menyimpan elemen e di indeks i array A[] adalah A[i] = e sedangkan operasi retrieve untuk mengambil suatu elemen dari array A[] di indeks i dan disimpan di elemen e adalah e = A[i].

 

  1. Desain class Array berdasarkan uraian  ADT Array di atas dengan ketentuan level akses data anggota adalah private dan level akses fungsi anggota adalah public. Selain itu jangan lupa untuk menambahkan constructor dan destructor pada class tersebut. Dalam desain ini, semua fungsi anggota kecuali constructor dan destructor, harus berbentuk prototype.

 

const int MAX =10;

class Array {

private :

int A[MAX};

int i, e;

public :

Array() { for ( i =0; i < MAX; i++) A[i] = 0; }

~Array();

void store( int, int );

int retrieve (int, int);

};

 

  1. Selanjutnya definisikan semua fungsi anggota di luar class Array. Ingat jangan lupa untuk menggunakan scope resolution operator ::

 

void Array :: store (int i, int e) { A[i] = e; }

int Array :: retrieve (int i, int e) { e = A[i]; }

 

  1. Terakhir, tulis fungsi main() sebagai driver untuk menguji desain kamu.

 

void main() {

int e;

Array a;

a.store(1,11);

a.store(2,22);

a.store(3,33);

            cout << endl << a,retrieve (3,e);

            cout << endi << a.retrieve(2,e);

            cout << endl << a.retrieve(1,e);

}

Seperti halnya array, struct adalah suatu ADT  yang mempunyai data anggota dan operasi, metode atau fungsi anggota. Elemen, member atau field struct  diakses menggunakan operator dot atau pointer ->. Bentuk umumnya adalah sebagai berikut:

<structure_variabel>.<field_name>

<structure_pointer> ® <field_name>

Operasi utama di struct adalah store(e) dan retrieve(). Operassi store(e) untuk menyimpan elemen e di field i struct s  adalah s.i = e sedangkan operasi retrieve() untuk mengambil suatu elemen dari struct s di field i dan disimpan di elemen e adalah e = s.i.

 

  1. Diketahui struktur dtMhs dengan tiga data anggota : nim, nama dan IPK serta fungsi anggota store() dan retrieve(). Desain class dtMhs berdasarkan uraian  di atas dengan ketentuan level akses data anggota adalah private dan level akses fungsi anggota adalah public. Selain itu jangan lupa untuk menambahkan constructor dan destructor pada class tersebut. Dalam desain ini, semua fungsi anggota kecuali constructor dan destructor, harus berbentuk prototype.

 

Jawab :

 

#include<iostream>

#include<string>

 

using namespace std;

 

class dtMhs {

 

private :

string nim;

string nama;

float IPK;

 

public :

//ini constructor

dtMhs(){

nim = “Belum ada”;

nama = “Belum ada”;

IPK = “0.00”;

 

}

//ini destructor

~dtMhs(){

}

 

void store(string,string,float){};

void retrieve(){

string retrieveNim();

string retrieveNama();

float retrieveIPK();

};

 

 

  1. Selanjutnya definisikan semua fungsi anggota di luar class Struct Ingat jangan lupa untuk menggunakan scope resolution operator ::

 

Jawab :

 

void dtMhs::store(string nim,string nama,float IPK){

this->nim=nim;

this->nama=nama;

this->IPK=IPK;

}

string dtMhs::retrieveNim(string nim){

return nim;

}

string dtMhs::retrieveNama(string nama){

return nama;

}

float dtMhs::retrieveIPK(float IPK){

return IPK;

}

 

  1. Terakhir, tulis fungsi main() sebagai driver untuk menguji desain kamu.

 

void main(){

dtMhs obj;

obj.store(“1701293010”,”Michael Wijaya”,4.00);

cout<<obj.retrieveNim<<endl;

cout<<obj.retrieveNama<<endl;

cout<<obj.retrieveIPK<<endl;

}

 

cin.get();

 

 

 

I AM PROUD AS A BINUSIAN

 

 

 

Filed under:Uncategorized

Linklist Michael Wijaya 1701293010

#include<stdio.h>
#include<stdlib.h>

struct data{
int x;
struct data* next;
struct data* prev;
}*connector;
void print(){

if(connector!=0)
{
while(connector->next!=0)
{
printf(“%d”,connector->x);
connector = connector->next;
}
printf(“->%d”,connector->x);
}
printf(“\n”);

}
int main()
{
struct data *head;
struct data *tail;
struct data *insert;
//masukkan data 1 dan 3
head =(struct data*)malloc(sizeof(struct data));
tail =(struct data*)malloc(sizeof(struct data));
connector =(struct data*)malloc(sizeof(struct data));
head->x=1;
head->next=0;
head->prev=0;
connector = head;
tail = head;
connector->next =(struct data*)malloc(sizeof(struct data));
connector->prev =(struct data*)malloc(sizeof(struct data));
connector = connector->next;
connector->x=3;
connector->next=0;
connector->prev=head;
tail=connector;

connector = head;
print();
//masukkan data 2 diantara 1 dan 3
connector = head;
if(connector->next!=0){
while(connector->next!=0){
if(connector->x==1&&connector->next->x==3)
{
insert = (struct data*)malloc(sizeof(struct data));
insert->x=2;
insert->next=connector->next;
insert->prev=head->next;
connector->next = insert;
}
}
}
connector = head;
print();
getchar();
//masukkan 0 di depan
connector = head;
insert = (struct data*)malloc(sizeof(struct data));
insert->x=0;
insert->next=head;
head=insert;
connector = head;
print();
//masukkan 5 di paling akhir

insert= (struct data*)malloc(sizeof(struct data));
insert->x = 5;
insert->next = 0;
insert->prev=tail;
tail->next=insert;
tail=tail->next;
connector = head;
print();
getchar();
return 0;
}

Filed under:Uncategorized

TM 02 Michael Wijaya 1701293010

TM 02

 

  1. Copy constructor suatu klas dieksekusi jika obyek klas di-copy dengan mekanisme di bawah ini kecuali

a. direct assignment                           b. initialization

c. passing by value                              c. return by value

 

  1. Fungsi anggota yang otomatis di-create oleh kompilator meskipun ia tidak secara eksplisit ditulis oleh pemrogram dalam definisi klas adalah opsi-opsi di bawah ini kecuali

a. default constructor                                    b. copy constructor

c. destructor                                        d. overloaded constructor

 

  1. Level akses utility function  atau helper function suatu klas adalah

a. public           b. protected                 c. private                    d. inline

 

  1. Untuk class X, sintaks copy constructor adalah

a. X(& X)                                            b. X(const X&)

c. X(const &X)                                   d. X(X &)

 

  1. C++ class mempunyai
    1. satu konstruktor dan satu destructor
    2. lebih dari satu konstruktor dan satu destructor
    3. satu konstruktor dan lebih dari satu destructor
    4. lebih dari satu konstruktor dan lebih dari satu destructor

 

  1. Apa keluaran dari penggalan program berikut ini:

 

class Rational {

public:

Rational() { cout << “OBYEK LAHIR.\n”; }

~Rational() { cout << “OBYEK MATI. \n”; }

private:

int num, den;

};

 

main() {

{   Rational x;

cout << “SEKARANG x HIDUP.\n”;

}

cout << “ANTAR BLOK.\n”;

{   Rational y;

cout << “SEKARANG y HIDUP.\n”;

}

}

  1. Uraikan apa yang kamu ketahui tentang constructor, user defined constructor, default constructor, parameterized constructor,  constructor initialization list, copy constructor dan destructor.

 

  1. Uraikan apa yang kamu ketahui tentang default arguments di C++. Sebutkan apa saja  yang dapat digunakan sebagai devalut value. Mengapa nilai constant tidak dapat digunakan sebagai default value untuk reference variable?

 

  1. Apa yang dimaksud dengan function overloading? Kriteria apa yang digunakan untuk menyatakan bahwa dua fungsi dengan nama yang sama adalah berbeda satu sama lain.

 

  1. Banyak penulis buku menyatakan bahwa untuk  class X paling sedikit  mempunyai satu constructor yaitu default constructor dengan prototype X(). Tetapi John Hubbard dalam bukunya Programming with C++ menyatakan bahwa setiap class X paling sedikit mempunyai dua constructor yaitu default X() dan copy constructor yang prototipe sintaksnya adalah X (const X & ), fungsi anggota dengan satu parameter dan pass by constant reference.

 

 

Tugas Anda:

a. Kapan copy constructor dieksekusi?

b. Untuk penggalan kode berikut berapa kali copy constructor dieksekusi?

class Rational {

public :   Rational(int n, int d) : num(n), den (d) { }

Rational(const Rational  & r) : num(r.num), den(r.den)

{ cout << “COPY CONSTRUCTOR CALLED\n”;}

private: int num, den;

};

 

Rational f(Rational r) {

Rational s = r;

return s;

}

 

main() {

Rational(22,7);

Rational y(x);

f(y);

            }

 

I AM PROUD AS A BINUSIAN

 

 

 

 

 

 

6.         OBYEK LAHIR.

SEKARANG x HIDUP

OBYEK MATI

ANTAR BLOK

OBYEK LAHIR

SEKARANG y HIDUP

OBYEK MATI

 

7.         – Constructor adalah fungsi yang muncul ketika kita memanggil suatu class.

– User defined constructor adalah constructor yang dibuat oleh user itu sendiri.

– Default constructor adalah constructor yang sudah disediakan oleh program tersebut dan isinya kosong

– Parameterized constructor adalah constructor yang memiliki parameter.

– Constructor initialization list adalah fasilitas untuk membuat objek dari suatu class dengan sekaligus menyatakan ukuran objek tersebut.

– Copy constructor adalah constructor yang disalin dari constructor sebelumnya.

– Copy destructor adalah destructor yang disalin dari destructor sebelumnya.

 

8.         Default arguments dalam C++ adalah argumentasi terhadap suatu fungsi yang pemrogram tidak perlu untuk menspesifikasinya.

Contoh :

        int my_func(int a, int b, int c=12);

result = my_func(1, 2, 3);

result = my_func(1, 2)

Nilai int c yang ada parameter tersebut akan otomatis ada sebagai default argument.

 

Default value : semua data bisa masuk dalam default value kecuali yang memiliki tipe const.

 

Karena nilai constant tidak dapat diubah sehingga data yang di kembalikan tidak akan berubah juga dan mengakibatkan kegagalan program.

 

9.         Overloading function memperbolehkan menggunakan nama function yang sama, tetapi dengan kriteria :

 

  1. Nama fungsi sama
  2. Jumlah parameter yang berbeda
  3. Urutan parameter yang sesuai

 

10.       a. Copy constructor di eksekusi saat kita menyatakan fungsi copy constructor. Atau secara tidak langsung saat kita sedang membutuhkan nya untuk variable lain.

b. Copy constructor di eksekusi sebanyak 1 kali.

Filed under:Uncategorized

Linklist 1701293010 Michael Wijaya

#include <stdio.h>
#include <stdlib.h>

struct node{
int x;
struct node*next;
};

int main(){
struct node *root;
struct node *conductor;
int flag = 0;
root = (struct node*)malloc(sizeof(struct node));
root->next=0;
do{
printf(“Masukkan angka [1…100] :”);
scanf(“%d”,&root->x);fflush(stdin);
}while(root->x<0||root->x>100);
flag++;
while(flag<=10){
system(“cls”);
conductor=root;
printf(“%d”,conductor->x);
while(conductor->next!=0){
conductor=conductor->next;
printf(“->%d”,conductor->x);
}
if(flag==10)
{
break;
}
conductor->next=(struct node*)malloc(sizeof(struct node));
conductor=conductor->next;
conductor->next=0;
printf(“\n”);
do{
printf(“Masukkan angka [1…100] :”);
scanf(“%d”,&conductor->x);fflush(stdin);
}while(conductor->x<0||conductor->x>100);
flag++;
}
getchar();
return 0;
}

Filed under:Uncategorized

Object Oriented Programming

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. ADT merupakan cara untuk enkapsulasi/pembungkusan data yang tipe datanya bisa berbeda menjadi suatu tipe data baru.

Enkapsulasi merupakan proses pemaketan pada sebuah data yang bertujuan untuk menyembunyikan informasi dari user/information hiding.
ADT pada OOP disebut dengan class. Class terdiri dari 3 bagian yaitu, class name, attribute/data member, dan method/function. Class adalah sebuah konsep OOP yang digunakan untuk enkapsulasi attribute dan method yang memiliki kesamaan behavior .

class Rectangle {

int width, height;

public:

void set_values (int,int);

int area()

{

return width*height;

}

};

  1. a. ADT(Abstract Data Type) merupakan penggabungan berbagai object dengan berbagai maca tipe data beserta dengan fungsinya untuk membentuk suatu tipe data baru. ADT dibuat untuk menghindari pemrograman yang kompleks dengan cara menyederhanakan proses pemrograman.

b. Properties merupakan bagian – bagian yang ada di dalam ADT

c. Kita memerlukan ADT karena ADT menyederhanakan proses pemrograman yang kompleks sehingga program yang kita buat terorganisir, dapat dimodifikasi, dan dapat dikompilasi secara terpisah. Selain itu, ADT yang mendukung information hiding dapat digunakan untuk menyembunyikan bagian-bagian penting yang tidak perlu diperlihatkan pada user.

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

e. Yang dimaksud adalah information hiding. Information hiding dalam ADT dapat dibagi menjadi 3 :

  • Private(-), dimana attribute dan method hanya bisa diakses oleh class-nya sendiri.
  • Protected(#), attribute dan method hanya bisa diakses oleh class itu sendiri dan turunannya.
  • Public(+), attribute dan method bisa diakses oleh class-nya sendiri, class lain, atau pun dari lingkungan luar class.
  1. Kita lebih suka menggunakan class daripada struct karena penggunaan enkapsulasi pada class. Kita dapat memasukkan attribute bersamaan dengan method dalam satu kelas. Selain itu pada class terdapat constructor dan destructor yang berguna untuk dealokasi memory. Constructor merupakan method khusus yang dijalankan secara otomatis tanpa harus dipanggil saat instance dibuat. Constructor digunakan untuk inisialisasi nilai terhadap data-data yang terdapat pada kelas yang bersangkutan. Sedangkan destructor secara otomatis akan dipanggil oleh compiler ketika objek meninggalkan blok main().
Filed under:Uncategorized