ya, itu betul sekali (mengenai blm pernah mencoba...)!!! karena itu, mungkin, saya sdh mengatakan sebelumnya bahwa sayaini blm punya kompie... :D karena ± akan terasa anjil dari pertanyaan2 saya bahwa "koq setiap ada skrip baru koq nanya dan bukannya di kompile sendiri?" karena itulah saya memberika "keterangan" sebelumnya... :D jadi mksd gw, harap maklum lah.. selama ini hanya belajar di kompienya tmn, itu pun ngga instal compiler c++... ngmng2 ada yang tau ngga maudonlot compilernya c++ yang gratis tanpa embel2 misalnya untuk 90 hari saja ato gimana...? gw ke sourceforge jadi bingung soalnya di sana ada mingw installer yang gw ngga ngerti... -_-! ngmng2 penjelasannya panjang bnr mas... :D nanti gw save baru gw liat di rumah tmn ya... trm ksh udah menjawab mas... nanti masih ada "beberapa" yang gw mo tanyakan lagi.. :)

On Sat, 22 Sep 2007 13:07:04 +0700
 Donny Kurnia <[EMAIL PROTECTED]> wrote:
Assalamu'alaikum wr wb

Dari email-email genjuro ke milis ini, saya berkesimpulan bahwa genjuro belum pernah mencoba potongan kode yang ditanyakan yah? Belajar programming tanpa mencoba sendiri mengkompile kode program di komputer sama aja dengan orang yang belajar naik sepeda, tapi mengandalkan buku teori dan nanya, tapi ga pernah nyoba naik sepeda dan merasakan jatuh
dari sepeda.
ya, itu betu sekali!!! karena itu, mungkin, saya sdh mengatakan sebelumnya bahwa sayaini blm punya kompie... :D karena ± akan terasa anjil dari pertanyaan2 saya bahwa "koq setiap ada skrip baru koq nanya dan bukannya di kompile sendiri?" karena itulah saya memberika "keterangan" sebelumnya... :D jadi mksd gw, harap maklum lah.. selama ini hanya belajar di kompienya tmn, itu pun ngga instal compiler c++... ngmng2 ada yang tau ngga maudonlot compilernya c++ yang gratis tanpa embel2 misalnya untuk 90 hari saja ato gimana...? gw ke sourceforge jadi bingung soalnya di sana ada mingw installer yang gw ngga ngerti... -_-!

Kalau kode program yang ditanyakan di email sebelumnya dan email ini udah pernah dicoba, saya yakin hal yang ditanyakan bukan seperti pertanyaannya genjuro, karena pertanyaan itu akan terjawab sendiri
ketika dicoba dikompile.
in juga gw yakin betul

Saya akan berusaha menjawab pertanyaan di email sebelumnya dan email ini.

genjuro wrote:
apa ada yang bisa beritahu caranya bikin kalkulator sederhana dengan menggunakan <iostream> ? mksd gw dengan kalkulator adalah bisa
"menerima" masukan spt 9*9 ato 3+6 dsb...

Saya anggap ini pertanyaan pertama. Apakah genjuro butuh kode program
lengkap yang bertindak seperti kalkulator?

trus mengapa klo ditulis
fungsi spt

int triple(const int& n) {
    return n * 3;

/*sebenarnya saya masih mau bertanya mengenai return disini, apa
disini return
berfungsi untuk mengembalikan nilai ke fungsi utama, dimana hasilnya (keluarannya) adalah hasil kali dari n * 3 (di mana n-nya adalah 5)?*/

}

dikatakan bisa "menerima" spt:

triple(5);

misalnya. kenapa bgt?

Pertanyaan di bagian komentar kode, tentang return: return akan
mengembalikan nilai ke pemanggil fungsi.
Jadi jika ditulis:
int i = triple(10);
maka hasil fungsi triple(10) akan disimpan ke variabel i. Sekarang saya yang bertanya ke genjuro, nilai variabel i diatas berapa?

Pertanyaan berikutnya, yang ingin ditanyakan sebenarnya apa? Untuk mengamati efek dari fungsi triple, ya silahkan ditulis programnya dan
dikompile.

jadi klo mau di buatkan skrip utuhnya adalah +/- spt ini:

#include <iostream>
using namespace std;

int triple(const int& n) {
    return n* n;
}

int main() {
    int x = 5;

cout << triple(5); //ngga ngerti kenapa yang beginian dikatakan
legal...
}

Perintah cout << triple(5) artinya di c++ adalah mengirimkan nilai dari fungsi triple(5) ke 'stream' bernama cout dengan memanggil fungsi operator<< yang dimiliki oleh cout. Untuk lebih jelasnya bisa cari di buku tentang pemrograman C++. Salah satu yang bagus adalah 'Thinking in C++', tersedia gratis di internet, silahkan cari lewat google.

ada lagi yang mo saya tanyakan, misalnya kita mau membuat skrip (yang memiliki struct) untuk memasukkan nama, tapi nama yang dimasukkan
terpisah oleh spasi, apakah bisa membuatnya spt ini...?

Apakah maksud genjuro, menerima input dari getline, tetapi yang diinputkan memiliki spasi, seperti misalnya nama saya: 'Donny Kurnia', begitu? Bisa aja. Pengen membuktikan? Silahkan compile sendiri.

(sekalian anda
semua bisa melihat bagaimana maksd saya):

#include <iostream>
#include <string>
using namespace std;

struct Nama {
    string nama;
};

int main() {
    Nama anda;
    cout << "masukkan nama anda \n";

//ini maksd saya yaitu apa bisa masukan ke struct memakai getline ?

    getline (cin, anda.nama);


    cout << "selamat datang, " << anda.nama << "!\n";
}

konsep struct adalah menggabungkan beberapa variabel ke dalam 1 'kontainer' sehingga lebih mudah diingat dan digunakan. Konsepnya sederhana aja. Misalkan Anda mau menyimpan atribut nama dan usia. Ketimbang menyimpannya di dua variabel terpisah, lebih baik disimpan ke satu 'struct' yang memiliki elemen nama dan usia, sehingga lebih mudah
dipahami dan diingat kegunaannya.

pertanyaan terakhir kali ini!, jika saya mau mengubah (memodifikasi)
sesuatu dalam struct apa bisa spt ini...?:
    Wizard gandalf;
    gandalf.name = "Gandalf";
    gandalf.age = 99;

/*perubahan spt yang di bawah ini apakah diperbolehkan?*/

    gandalf.age = 100;

Itu tidak berbeda dengan potongan kode ini:
int age;
age = 99;
age = 100;

Anda ga percaya bahwa itu boleh, kembali silahkan ditulis dan di-kompile.

bisa ngga klo misalnya kita mau memanggil / memasukkan fungsi ke dalam
class, kita melakukan :

class Wizard {
    string name;
    int age;
public:
void read(Wizard wizard) { //apa harus dibuat saja fungsi read()?
        cout << "name: \n";

//jika dibuat jadi read() maka wizard.name menjadi name

        cin >> wizard.name;
        cout << "age: \n";

//jika dibuat jadi read() maka wizard.age menjadi age

        cin >> wizard.age;
    }
}

Sekarang dah masuk ke konsep class yah :)
Class merupakan pengembangan dari Struct, dimana kalau pada Struct, semua elemen bersifat public, pada Class ada konsep penyembunyian elemen (elemen bersifat private). Silahkan baca2 tentang konsep pemrograman berorientasi objek. Tentang fungsi read di dalam kelas, ini disebut sebagai method. Untuk lebih jelas mengenai konsep objek, saya analogikan
sebagai berikut:
Seorang manusia, memiliki nama/name dan usia/age.
Seorang manusia bisa berjalan/walking.

Pada pemrograman prosedural, nama dan usia akan disimpan ke variabel sendiri-sendiri, lalu ada fungsi walking yang menerima parameter nama
orang yang akan diset sedang berjalan.

Pada pemrograman objek, akan ada tipe variabel manusia, yang memiliki elemen/properties nama dan usia, dan memiliki method walking. Sebuah variabel akan bisa melakukan aksi berjalan/walking thd dirinya sendiri.

int main() {
    Wizard gandalf;

//jika harus membuat fungsi read() , hanya bisa di panggil dengan
    //gandalf.read(); ?

Jika fungsi read adalah method dari class Wizard, method ini melekat pada 'objek' Wizard. Jadi harus dipanggil dengan cara gandalf.read();

    read(gandalf);
}

jika seandainya di panggil dengan gandalf.read(); apa ada yang bisa menjelaskan mengapa jika dilakukan bgt, name bisa mengarah ke
gandalf.name ? dan juga age menjadi gandalf.age ...
thnk u sebelumnya...

Kita liat lagi isi dari method read. (Kode Anda saya edit agar bisa
di-kompile)
        cout << "name: \n";
        cin >> name;
        cout << "age: \n";
        cin >> age;
Karena method ini ada pada class Wizard, maka method ini akan otomatis menggunakan elemen name dan age dari 'objek' bersangkutan.

Harap diingat untuk membedakan antara class dengan objek.
class analoginya adalah tipe.
objek analoginya adalah variabel.

int i = 2;

int : tipe variabel, yaitu integer.
i   : variabel bernama i bertipe int.
2   : nilai konstanta

Wizard gandalf;

Wizard  : tipe class bernama Wizard
gandalf : objek yang diciptakan dari class Wizard, akan memiliki elemen
name, age dan memiliki method read.

Pada kode diatas, ketika memanggil gandalf.read(), method read() pada 'objek' gandalf akan membaca input pengguna dan menyimpannya pada elemen
name dan age dari 'objek' gandalf.

Jika ada objek lain:
Wizard donny;

Memanggil method : donny.read() akan menyimpan hasilnya pada donny.name dan donny.age. Objek donny tidak akan bisa mengubah elemen dari Objek gandalf, begitupun sebaliknya. Masing-masing objek akan berjalan sendiri. Mereka hanya memiliki kesamaan sama-sama diciptakan dari class
yang sama, yaitu class Wizard. Analoginya:

int i = 2;
int j = 3;

i dan j adalah variabel yang berbeda, walaupun tipenya sama-sama int.


Saya harap penjelasan saya dapat menjawab keingintahuan genjuro. Jangan berhenti bertanya, tetapi tanyalah hal yang tidak bisa terjawab oleh praktek. Lakukan dulu praktek dari teorinya (tulis kodenya lalu dikompile dan dijalankan), setelah itu baru tanyakan hal yang masih
tidak dimengerti.

Wassalamu'alaikum wr wb
--
Donny Kurnia
http://hantulab.blogspot.com
http://hantulab.multiply.com


--
Berhenti langganan: [EMAIL PROTECTED]
Arsip dan info: http://linux.or.id/milis


========================================================================================
"Sambil berpuasa, ikuti Netkuis Ramadhan 1428 H. Menangkan Laptop, Ipod dan HP Nokia 
di akhir periode netkuis dan dapatkan Flash disk di tiap minggunya dengan mengikuti 
Netkuis di http://netkuis.telkom.net/";
========================================================================================

--
Berhenti langganan: [EMAIL PROTECTED]
Arsip dan info: http://linux.or.id/milis

Kirim email ke