PROGRAM MEMBUAT KELAS TANGGAL

#include <iostream.h>

#include <ctime.h>

class Tanggal{

private :

int tanggal, bulan, tahun;

public  :

Tanggal(int tanggal, int tahun, int bulan);

Tanggal ();

int ambil_tanggal();

int ambil_bulan();

int ambil_tahun();

};

Tanggal::Tanggal(int tanggal, int bulan, int tahun) {

Tanggal::tanggal = tanggal;

Tanggal::bulan = bulan;

Tanggal::tahun = tahun;

}

Tanggal::Tanggal() {

time_t waktu = time(NULL);

tm*waktu_lokal = localtime(&waktu);

Tanggal::tanggal = waktu_lokal->tm_mday;

Tanggal::bulan = waktu_lokal->tm_mon + 1;

Tanggal::tahun = waktu_lokal->tm_year + 1900;

}

int Tanggal::ambil_tanggal()  {

return(Tanggal::tanggal);

}

int Tanggal::ambil_bulan()   {

return(Tanggal::bulan);

}

int Tanggal::ambil_tahun()     {

return(Tanggal::tahun);

}

int main()    {

Tanggal tanggal_sekarang;

cout << tanggal_sekarang.ambil_tanggal() << endl;

cout << tanggal_sekarang.ambil_bulan() << endl;

cout << tanggal_sekarang.ambil_tahun() << endl;

Tanggal tanggal_kemerdekaan(17, 8, 1945);

cout << tanggal_kemerdekaan.ambil_tanggal() << endl;

cout << tanggal_kemerdekaan.ambil_bulan() << endl;

cout << tanggal_kemerdekaan.ambil_tahun() << endl;

return (0);

}

===================== Akhir dari Syntax =====================

Program di atas adalah program untuk membuat kelas tanggal.Pada program di atas terdapat syntax :

Tanggal tanggal_kemerdekaaan(17, 8, 1945);

Argumen tersebut menyatakan tanggal, bulan,dan tahun secara berturut-turut.Kelas Tanggal di atas juga memiliki fungsi anggota bernama ambil_tanggal(), ambil_bulan(), dan ambil_tahun() yang secara berturut-turut memberikan nilai balik berupa tanggal,bulan,dan tahun.

Pada program di atas juga terdapat argumen seperti :

time_t waktu = time(NULL);

tm *waktu_lokal = localtime(&waktu);

argumen tersebut berguna untuk memperoleh waktu sekarang.

MEMPEROLEH KARAKTER TERKANAN PADA STRING

#include <iostream.h>

char * str_kanan(char*st, int n);

int main() {

int i;

for (i = 1;  i < 12;  i++)

cout << str_kanan(“Selamat belajar”,i) << “\n”;

return (0);

}

char * str_kanan(char * st,int n) {

int i,indeks,panjang;

static char hasil[80];

panjang = strlen(st);

if (n > panjang)

n = panjang;

i = 0;

for (indeks = panjang – n; indeks < panjang; indeks++){

hasil[i] = st[indeks];

i++;

}

hasil [i] = ”;

return (hasil);

}

==================== Akhir dari Syntax =====================

Pada program di atas,fungsi str_kanan digunakan untuk memperoleh n karakter terkanan pada string argumen st.Mengingat yang dihasilkan adalah string,maka nilai balik fungsi berupa pointer ke string(ditunjukkan dengan char * di depan str_kanan()).Pada keadaan seperti ini,penggunaan variabel yang bersifat statis mutlak diperlukan.Variabel statis adalah varabel yang keberadaannya selalu dibertahankan walaupun pemanggilan fungsi sudah berakhir. Variabel inilah yang menyimpan hasil fungsi str_kanan().Variabel statis dibentuk dengan menyertakan kata kunci static,seperti pada contoh :

static char hasil[80];

merupakan pernyataan untuk mendeklarasikan hasil agar bisa menampung string dengan panjang maksimal 79 dan bersifat statis.Jadi,jika hendak membuat nilai balik berupa string,variabel statis mutlak diperlukan.