Perubahan tipe data terkadang perlu dilakukan untuk melakukan pemrosesan terhadap data, tergantung kebutuhan. Seperti halnya perubahan dari tipe short ke int, char ke int, int ke char, string ke int, int ke string, dsb.  ini merupakan kelanjutan dari postingan sebelumnya, yang juga tentang konversi tipe data string ke lainya.

Terdapat banyak cara dalam melakukan perubahan tipe data(type casting). Bisa menggunakan tiga cara berikut ini:

  • (tipe_baru) data
  • tipe_baru (data)
  • type_cast<tipe_baru>(data)

Contoh program

int a,b;
short c,d;
char e,f;
CString g,h;
a= 66;
b=67;
// konversi int ke char
e = (char)a; // out put karakter B
f = char(b); //  out put karakter C
//konversi char ke int
a = int(e);  // out put bilangan 66
b = (int)f;  // output bilangan 67
//konversi int ke string
g = CString(a); // output string B
h = (CString)b; // output string C

// penggunaan static_cast
 a = static_cast<int>(e);

Selamat Mencoba….:D

Referensi :

Oleh :

Terkadang  kita perlu melakukan konversi tipe data string ke bilangan(bisa integer atau float) atau sebaliknya. Seperti halnya kalo kita akan menghitung suatu bilangan yang kita inputkan pada aplikasi windows. Data yang diinputkan dari user merupakan data dengan tipe string, sehingga untuk melakukan operasi pada bilangan tersebut perlu dikonversi ke bilangan, baik itu bilangan integer atau double. Begitu juga ketika kita akan menampilkan hasil operasi pada pengguna, terkadang perlu melakukan konversi dari bilangan ke string.

Terdapat banyak cara dalam melakukan konversi dengan C++. Dalam  tulisan ini akan dijelaskan cara konversi dari string ke tipe lainya (untuk konversi  ke string, saya sarankan untuk menggunakan objek Format() dari class CString, soalnya lebih fleksibel dan mudah untuk semua tipe data)  :

String to integer

  • atoi()  : string ke int
  • _wtoi() : string ke int
  • atol () : string ke long int
  • _wtol() : string ke long int

String to double

  • atof () : string ke double
  • _wtof() : string ke double


All to string

– Format(“%specifier”,data)

Untuk specifier :

  • · c : untuk tipe char
  • · d atau I : untuk tipe integer
  • · e atau E : notasi scientific
  • · f atau g atau G : untuk tipe double atau float
  • · o : untuk bilangan octal
  • · s : untuk tipe string
  • · u : untuk unsign integer
  • · x atau X : untuk tipe hexa decimal
  • · p : untuk pointer
  • · n : menghasilkan kosong

Contoh program :

void CKonversiDlg::OnConvert()
{
  CString str, str_a, str_b, str_c;
  m_data.GetWindowText(str);
  int a;
  long int b;
  double c;
  a = atoi(str);  // konversi string ke int
  b = atol(str);  // konversi string ke long int
  c = atof(str);  // konversi string ke double
  str_a.Format("%d",a); // int ke string
  str_b.Format("%i",b); // long int ke string
  str_c.Format("%f",c); // double ke string
  // tampilkan hasil
  CString data;
  data.Format(("%s , %s , %s"), str_a, str_b, str_c);
  AfxMessageBox(data);
}

Referensi :

Oleh :

oke….. kita mulai lagi belajarnya. …

hmmm… kita mulai dari mana ya?? (lho… belum apa2 kok udah bingung dulu…??!!).

oke kalo begitu… aku mulai dari tujuan posting kali aja lah. tujuanku sebenarnya cuma satu, cuma ingin berbagi konsep untuk melakukan penulisan pada file. ingat lo ya..!! $ K.O.N.S.E.P $ (waduh kepencet tanda dolar….hehehe). jadi pada penulisan ini tidak begitu mendetail mengenai fungsi tersebut. ( fungsi apa coba??!!… ya fungsi Ifstream dan Ofstream lah……:D).

Go…………………..!!
Ifstream : sesuai namanya, klo boleh sedikit2 ngarang, saya jabarkan seperti ini , Ifstream(Input File Stream). namanya aja Input, berarti digunakan untuk memberikan input dari file. ingatkan pada waktu kita belajar pemrograman untuk pertama kali??? kita selalu memberi input kalo tidak dengan mendefinisikan pada variabel ya kita input melalui keyboard. . (masih ingat to??!!! :D). nah .. bedanya klo disini kita akan memberikan input tersebut melalui file. file yang dimaksut disini seperti file-file yang biasa kita liat di komputer kita(seperti file .txt .doc. .mp3 pokoknya file2 seperti itu lah…..).

Ofstream : klo boleh ngarang lagi,,,,(dari tadi ngarang tueruuus ni,,,, :P) Ofstream (Output File Stream). kebalikan dari Ifstream. digunakan untuk output kalo bahasa manusiawinya “menulis ke file “.

langsung ke implementasi oi…..!!!!

Ofstream
caranya cuma ada tiga langkah, disebut tiga baris juga boleh…..hehehe

  1. persiapan : beri nama file yang akan ditulisi beserta tempat penyimpanan. buat objek untuk Ofstream (klo bagian ini bingung, langsung liat contoh aja…. pasti langsung donk….. )
  2. penulisan : kita tulis apa yang kita tulis …(lho…???!! ya gtu lah pokok nya….. :D)
  3. penutupan : karena tadi kita buka, maka sekarang pelu kita tutup (klo ada yang tanya “kenapa kok demikian pakde…??” maka aku jawab : prosedurnya emang seperti itu,,, hehehehe,,, ikuti ajalah langkah2 nya,,, percayalah… halah…)

Contoh Ofstream sederhana

 Ofstream output("D:\\aulia cahyo syahrain\\fileku.txt", ios::ate); // ini langkah pertama
 output << "ini tulisanku :: Aulia Cahyo Syahrain" << endl; // ini langkah ke dua
 output.close(); // ini langkah ke tiga

setelah program dijalankan, maka akan muncul file dengan nama fileku.txt pada folder Aulia Cahyo Syahrain. dan ketika dibuka file tersebut, akan muncul tulisan “ini tulisanku :: Aulia Cahyo Syahrain”. kalo gak percaya, langsung aja liat ke komputer mu….!! (klo gak ada berarti program nya belum ditulis dan belum dijalankan,,,heheheh)

penjelasannya sebagai berikut :

langkah pertama :

output : ini yang saya sebut sebagai objek. disini saya menggunakan nama output, diganti dengan nama lain juga boleh. objek ini digunakan untuk menulis ke  file.

“D:\\aulia cahyo syahrain\\”  : ini tempat penyimpanan file yang kita tulis tadi.  untuk nama file, saya menggunakan nama “fileku.txt”, kamu boleh memberi nama sesukamu,,, kamu.txt lah, atau kamu.dat, kamu.mp3…(pokoknya terserah kamu lah…..😀

ios::ate : (apaan ni???!!!…..) ini adalah modus yang digunakan dalam penulisan. dicontoh ini saya gunakan ios::ate  (at end) yang berarti untuk penulisan berikutnya akan langsung ditambahkan mulai dari  baris terakhir.  ada banyak modus dalam melakukan ini, diantaranya :

  • ios::in  ->  sebagai input.
  • ios::out  ->  sebagai output
  • ios::ate  -> menuliskan pada akhir file untuk file baru.
  • ios::app ->  meletakkan keluaran atau output pada akhir file
  • ios::trunk – > akan menghapus file jika ada
  • ios::nocreate  ->  tanpa membuat file baru(file harus ada sebelumnya)
  • ios::noreplace -> membuat file baru (file belum ada sebelumnya, jika ada maka fungsi tidak berjalan)
  • ios::binary -> membuat file biner(bukan text)

langkah kedua:

output << “ini tulisanku :: Aulia Cahyo Syahrain” << endl :  klo yang uda pernah menggunakan C++ tentunya ngak pake bingung melihat tampilan seperti ini. gak asing kan dengan perintah seperti cout << “ini tulisan output” ??? nah…. itu sama aja seperti itu. cuma disini objek yang kita pake adalah objek bikinan sendiri.

langkah ketiga :

output.close() : ini cara melakukan penutupan. kita tadi uda membuat atau membuka objek kan???!!! (yang tadi lo,,, dilangkah awal…:D). nah sekarang objek yang kita buat tadi perlu kita tutup. selesai deh….!!!

Contoh ifstream:

ifstream in("D:\\aulia cahyo syahrain\\fileku.txt ");
if( !in.is_open()) // jika gagal  melakukan input akan memberikan peringatan.
{
AfxMessageBox("failed open input");
}
in.getline(line,100); // megambil string pada baris pertama dan menyimpan pada variable “char line[100]”
// untuk mengambil baris semua baris dapat menggunakan while( in.getline(line,100,))
in.close();

Oleh :

clockKamu sedang belajar dasar-dasar pemrograman? bosen dengan berbagai contoh yang monoton? semua contoh contohnya gtu gtu terus?? coba deh,, tambahin fungsi clock() pada program sederhana mu…!!  biar lebih menarik, tidak membosankan.

Fungsi clock() digunakan untuk memanggil waktu yang ada pada sistem komputer untuk dapat diintegrasikan ke program yang nantinya akan kita buat. untuk menjalankan fungsi clock perlu menyertakan header time.h, biasanya dengan menuliskan #include <time.h> pada awal program (kalo di blog ini ada post tentang pemrograman, artinya di implementasikan pada C++, compiler yang saya gunakan VC 6.0. ingat ya….!!!)

Baik,,,,,,!!!  untuk lebih jelasnya, langsung aja ke inti ya…?? oke..?? kenal dengan fungsi “while() ” kan?  yang mengulangi statemen sampai kondisi yang telah ditentukan. misal kan kita mau mengulang data 1-10. kurang lebih koding nya seperti berikut :

int n = 1 ;

while (n <= 10)

{

cout << n << endl;

n++;

}

fungsi diatas akan menghasilkan output data 1  s/d 10. nah….!!! kita mau membuat yang demikian, tapi pengulanganya berdasarkan waktu. maksutnya setiap sekian detik sekali akan terjadi pengulangan. tidak sembarang ngulang. gtu….!!!

Salah satu caranya yaitu dengan menggunakan delay waktu untuk setiap pengulangan. algoritmanya sama dengan yang diatas cuma untuk pengulangan selanjutnya ditambahi dengan delay waktu sekian detik. jadi algoritmanya menjadi seperti berikut :

while(kondisi)

{

//statemen

// delay waktu

}

kalo diimplementasikan, contoh yang sebelumnya akan menjadi seperti berikut :

while(n <= 10)
{
cout<<n<<endl;
n++;
delay(1);
}

Nah… dari kode diatas akan mengakibatkan delay selama 1 (dalam hal ini 1 detik) untuk pengulangan selanjutnya.  sekarang kita buwat kode untuk objek delay(). berikut kodenya dalam hitungan detik :

void delay ( int seconds )
{
clock_t end;
end = clock () + seconds * CLOCKS_PER_SEC ;
while (clock() < end) {}
}

fungsi diatas akan memanggil waktu yang ada di sistem kemudian ditambah dengan waktu delay yang kita tentukan. sehingga  compiler akan melanjutkan pembacaan kode pada waktu yang sudah ditentukan.

Sehingga kalo seluruh kode dituliskan, akan terlihat seperti berikut :

#include <stdio.h>

#include <time.h>

void delay ( int seconds )

{

clock_t end;

end = clock () + seconds * CLOCKS_PER_SEC ;

while (clock() < end) {}

}

int main ()
{
int n = 1;
while(n <= 10)
{
cout<<n<<endl;
n++;
delay(1);
}

return 0;

}

oke….?? simple to…?? bravo……!!!!

threadBagi orang yang berkecimpung dalam ‘dunia perkomputeran’ kata MultiThreading bukan lagi suatu hal yang asing. tapi bukan berarti  sepenuhnya paham dengan hal itu. multi threading sama halnya dengan MultiTasking dimana MultiTasking adalah Menjalankan banyak hal dalam sekali waktu(istilah umumnya kurang lebih demikian lah,,,,). sedangkan dalam dunia komputer MultiTasking adalah (prosessor) menjalankan beberapa program/aplikasi  dalam sekali waktu. contoh yang sering kita lakukan : kita browsing (ngenet…) sambil dengerin lagu(buka winamp, dsb) sambil buka windows explorer, singkatnya menjalankan beberapa aplikasi dalam satu komputer.  nah itu yang disebut multitasking(lho kok jadi ngebahas multitasking???!!! katanya MultiThreading…???).

oke,,, kita sekarang masuk ke MultiThreading. tadi uda dijelasin kan tentang multitasking(tadi lho,,,!! yang barusan dijelasin)??!! bedanya kalo MultiThreading adalah (program) menjalankan beberapa proses secara bersamaan. jadi didalam suatu program/aplikasi biasanya memerlukan keadaan yang menjalankan beberapa proses sekaligus(kalo yang ini kita tidak sering melakukannya dalam dunia nyata seperti halnya multitasking, karena yang melakukan adalah aplikasi, jadi agak kasat mata….:D). contohnya : waktu kita ngenet di warnet, ato ngegame online tu kan ada banyak orang yang maen dalam sekali waktu, setiap orang dalam warnet itu kan ada hitungan tarifnya sendiri sendiri, yang hitung itu sebenarnya bukan program yang ada di komputer yang kamu pakai melainkan program yang ada diserver. jumlah programnya cuma satu (kalo gak salah namanya ‘Billing Server’) tapi memiliki banyak proses (proses untuk tiap tiap pengguna internet)dan itu harus dilakukan bersamaan. oke..oke…?? paham kan…???

sekarang kita memasuki tahap bagaimana membuat aplikasi MultiThreading. caranya gampang banget, cuma ada dua step ja kok. berikut step nya :

step 1 : buat thread/proses

contoh :  dalam c++ dapat menggunakan fungsi :::::  AfxBeginThread( proses, 0 );

step 2 : buat aplikasi yang dijalankan disetiap thread/proses

contoh :  UINT proses(LPVOID parameter)
{
{
tulis program yang akan dijalankan…..!!!
}
return 0;
}

Simple kan….??? :D:D:D:D

chappyhakim– Mengambil Keputusan –  Mengambil keputusan adalah sesuatu yang harus dilatih. Latihan mengambil keputusan seharusnya sudah dimulai dari sejak usia dini. Professor Diran, guru besar Institute Teknologi Bandung, dalam salah satu ceramahnya, memberikan satu ilustrasi yang sangat menarik.

Prof. Diran mengatakan, salah satu kelemahan orang Indonesia adalah dalam mengambil keputusan. Mereka pada umumnya selalu kalah cepat dengan rekan-rekannya dari negara lain, terutama dari negara maju tentu saja. Mengapa? Sebabnya sederhana sekali. Beliau memberikan contoh bagaimana anak-anak kecil orang Indonesia, seolah tidak boleh menentukan sendiri kemauannya. Dari sejak kecil sudah “familiar” bahwa hanya orang tua lah yang memutuskan segala sesuatunya dalam setiap aspek kehidupan. Mungkin, lebih kurang, kita semua juga mengalami hal seperti itu. Contoh sederhana adalah bila kita bersama-sama makan di sebuah restoran, maka biasanya yang memilih menu terlebih dahulu, akan kemudian diikuti oleh seluruh teman-temannya. Apalagi bila itu terjadi di Luar Negeri. Satu orang memilih “orange Juice”, maka biasanya diikuti dengan “same” ! dan akhirnya semua nya “same” ! Celakanya, walaupun ada juga yang tidak doyan dengan “orange juice” ya tetap saja memesan “orange juice”. Mengapa ? ya itu tadi, tidak biasa mengambil keputusan sendiri, dan juga merasa sungkan untuk menjadi lain sendiri. Tapi yang inti adalah “tidak biasa mengambil keputusan”!

Nah, setelah beliau berkeluarga, atas persetujuan dengan isteri, maka beliau melatih anak-anaknya dari sejak usia dini untuk mengambil keputusan sendiri terhadap segala sesuatu yang menyangkut kepentingan mereka sendiri, tentunya. Disinilah, mereka belajar memutuskan sesuatu dan kemudian dipersilahkan menikmati hasil keputusannya itu. Memutuskan masalah dengan solusi “A”, yang kemudian berakibat enak atau tidak enak, atau memutuskan dengan solusi “B” , juga dengan akibat yang dihadapi kemudian senang atau tidak menyenangkan. Inilah proses pembelajaran yang kemudian menjadi bekal pengalaman bagi sang anak untuk mengambil keputusan selanjutnya atau yang akan datang. Demikianlah, tentu saja dengan bimbingan yang mendidik dari orang tuanya, anak-anak pak Diran menjadi terlatih dalam soal mengambil keputusan sendiri. Kesemuanya tentu saja melalui tahapan-tahapan yang diperkirakan sesuai dengan usia sang anak. Mereka menjadi “well trained” dalam soal mengambil keputusan. Celakanya, masih kata Prof Diran, pada satu waktu anak nya ulang tahun, dibawa ke satu toko dan disuruh menentukan sendiri kadonya mau apa, dan keputusan yang diambil oleh sang anak adalah sesuatu/barang/mainan yang digemarinya, yang…cukup mahal harganya?! Apaboleh buat, saya harus konsisten dan harus konsekuen, karena ini adalah proses mendidik anak, dimana faktor tanggung jawab juga harus paralel diberikan dengan contoh atau keteladanan. Jalan keluarnya, ya kalau sang anak ulang tahun selalu dibawa ke toko yang kira-kira harganya terjangkau, he he he he , lanjut beliau sambil bergurau.

Ilustrasi itu sangat sederhana, namun mengandung makna yang sangat dalam. Saya sendiri, kemudian mencontoh apa yang disampaikan Professor Diran. Anak saya , alhamdullilah sudah terbiasa dengan mengambil keputusan sendiri, sepanjang yang menyangkut diri mereka sendiri. Saya dan isteri hanya memberikan saran, pertimbangan dan berbagi pengalaman dengan mereka dan kemudian mereka putuskan sendiri. Tentu saja pasti ada kelebihan dan kekurangannya. Manusia tidak ada yang sempurna, namun paling tidak, kemudian terlihat bedanya anak saya dengan beberapa anak teman saya. Semasa anak-anak masih sekolah dan kuliah, beberapa teman dekat saya , sering mengeluhkan selalu banyak pertanyaan dari anaknya yang nyaris tiada henti tentang apa – apa yang harus dia putuskan dalam beberapa kegiatan disekolahnya. Anak-anaknya selalu gagal untuk dapat memutuskan sendiri pilihan-pilihan yang mereka hadapi selama sekolah/kuliah. Anak-anak mereka selalu menunggu orang tuanya mengambil keputusan untuk dirinya. Beda sekali dengan anak saya, mereka hanya bertanya, bila betul-betul dibutuhkan kepada ayah dan ibunya untuk mendapatkan pertimbangan, lalu segera saja mereka memutuskan sendiri keinginannya. Tidak ada sedikitpun keraguan baginya, karena mereka sudah sangat “biasa” mengambil keputusan. Tentu saja melalui proses panjang “trial by error” untuk dapat mencapai kemantapan diri yang seperti itu. Sebagai manusia biasa, terkadang ada juga beberapa hal yang kami sesali sebagai orang tua terhadap keputusan yang telah diambil oleh anak-anak. Lho, kenapa yang itu yang dipilih? Lho kenapa begitu diputuskannya dan lho, lho yang lainnya. Saya kemudian selalu menghibur isteri saya, sambil juga sebenarnya menghibur diri sendiri, bahwa semakin dewasa anak-anak kita, maka akan semakin berbeda dalam melihat referensi yang digunakannya untuk mengambikl keputusan. Ini tidak dapat kita hindari, namun paling tidak didalam hati saya bersukur, bahwa anak-anak saya sanggup megambil keputusan sendiri. Berbeda ? saya pikir itu alamiah dan manusiawi sekali, dan mungkin itulah yang kerap terdengar sebagai “generation gap” . Minimal dalam memberikan bimbingan kepada anak, kami, saya dan isteri sudah membekalinya dengan “visi” yang ideal. Demikian pula pada proses pengambilan keputusan salah satu hal yang juga sangat penting sebagai bekal bagi sang anak adalah sikap yang “selalu berfokus pada misi“, sifat yang “mission oriented” ! . Itulah : Visi dan misi, dan bukan popularitas !  – Jakarta 3 April 2009 Chappy Hakim. –

siungSejenak melihat semua barang barang yang mengisi ruangan ku (baca : kamar), tak perlu menghitung yang jelas lebih dari 20 jenis barang yang merupakan karya orang yang berbeda beda, yang dibuwat oleh orang yang memiliki tujuan sesuai yang dihasilkanya. mereka semua bisa hidup dari hasil karya nya. disampingku ada sebotol aqua yang merupakan produsen air mineral dalam kemasan terbesar di Indonesia. dalm satu produk ini aku yakin ada banyak tangan tangan kreatif yang terlibat dari orang yang memiliki tujuan hidup sehingga sampai di sampingku seperti sekarang ini. ada kemasan botol, merek yang menempel, tutup biru yang melindungi, dan isi nya itu sendiri. itu semua di lakukan oleh orang yang memilik tujuan sendiri, ada yang melakukan sebagai tujuan hidupnya, karena dari situ dia bisa menghidupi keluarganya dari bekerja di pabrik aqua dari menempelkan plastik produknya ke botol misalnya. ada yang melakukan dengan tujuan sebagai pengalaman kerja, sebagai modal untuk jenjang karir kedepan. dan masih banyak yang laen dengan tujuan sendiri. itu baru air putih yang yang dikemas sedemian hingga.

ga terbayang sebelumnya, hanya sekedar menjual air putih bisa menghidupi banyak keluarga, bisa menghasilkan puluhan juta bahkan ratusan juta tentunya. sekarang menjual produk AQUA yang berkualitas menjadi tujuan hidup tersendiri bagi sang pemilik. apa pun dilakukan untuk mendapatkan air putih yang berkualitas  dalam kemasan, walau harus mengeluarkan berjuta juta untuk riset. bayangkan….!!! cuma untuk meneliti air putih, rela mengeluarkan dana yang tidak sedikit(ini opiniku sendiri, tapi aku yakin memang seperti itu…. :D).  aku cuma berpikir, seperti itukah orang yang memiliki tujuan dalam hidup nya??!!  semua seperti rela dilakukan. hanya dengan kata kata “DEMI….”. sementara banyak orang yang kebingungan dengan tujuan hidup nya. termasuk  aku juga ikut didalamnya …hehehe.  berapa banyak waktu, tenaga yang kita buang dalam kebingungan dengan tujuan hidup. padahal kalau kita lihat disekeliling, bisa hidup kok  hanya dengan menjual nasi, kaya juga kok mereka, banyak juga kok mobil yang dimilikinya dirumanya dari nasi, punya rumah juga kok mereka dari nasi, mulia juga kok usaha mereka.


aku jadi teringat ketika awal-awal dijogja, ketika aku dikenalkan/diajak makan di rumah makan milik orang banyuwangi oleh ayah dari temen ku, yang menyediakan aneka penyet khas banyuwangi, letaknya di jl. kaliurang km. 10 kiri jalan kalo berangkat dari arah ugm, setelah pom bensin kanan jalan. tak lama kemudian setelah makan makan disana, dengan sang pemilik yang asli orang  banyuwangi diajak tour wisata usahanya. ayah dari temen ku yang cerita kepada ku, bagaimana asal muasal dari usaha restoran itu, bagaimana asal muasal dari mobil yang aku tumpangi ketika waktu itu, rumah yang aku kunjungi, anak anak nya yang bisa kuliah, anak anaknya yang menjadi atlit balap sepeda andalan DIY, ceritanya gitu. katanya cuma satu, yaitu “UPO” kalo dalam bahasa indonesia berarti “NASI”. “kabeh iki mau digoleki teko upo”, semua ini asal muasal nya dari jualan nasi, begitu penjelasanya.


yahhh …. itu sekilas dari pentingnya TUJUAN HIDUP, tidak bermaksut bercerita tentang air putih atau nasi, cuma pengen betapa pentingya tujuan hidup itu sendiri. semua bisa dijadikan tujuan hidup karena semuanya ini mulia. asal kita mau menjalaninya. kita mau mencarinya. kita bisa mewarnainya. aku berdoa untuk diri aku sendiri untuk tujuan hidupku sendiri… aku berharap temen temen yang masih bingung lalu lalang seperti aku juga, segera menemukan hidupnya, get your life distination….!!! amien….!!


Assalamu’alaikum Wr. Wb.

alhamdullillah .. blog ku sudah bisa di akses, setelah sekian lamanya tidak ngeblog akhirnya keinginan ngeblog dari semester kemaren terwujud. sebelumnya aku ngeblog di web server ugm dengan alamat http://www.auliacs.web.ugm.ac.id . blog hasil kodingku secara manual dengan menulis kode per kode .

semoga dengan blog yang ada ini, aku mendapat banyak manfaat, banyak pengetahuan, bisa saling berbagi, entah itu berbagi ilmu atau yang laen nya.

trimakasih ya Allah…..!! engkau telah banyak membimbingku, banyak menuntunku. terima kasih atas segalanya, segala kebaikan yang engkau berikan kepada ku.

Wassalamu’alaikum Wr. Wb.