Cara Belajar Programming C/C++ Dengan Hebatnya

Assalammualaikum,

Maaflah jika post ini agak membosankan tatkala saya juga terasa bosan maka saya bercadang untuk menulis. Tetapi saya menulis artikel ini untuk dikongsi bersama anda semua atau pencari tips-tips untuk menjadi hebat dalam Programming C/C++ terutama khas kepada pelajar-pelajar yang sedang belajar di universiti atau sesiapa jua. Kebanyakan tips ini diperoleh oleh supervisor saya yang ternyata saya rasa membantu meningkatkan minat pelajar kepada pengaturcaraan

Baiklah, seperti yang kita tahu, apabila kita mahu memulakan programming, kita mesti ada perisiannya. Pendek kata, samada Borland C atau Visual C++. Pastikan anda memasangnya terlebih dahulu.Oh ya Visual Studio 11 sedang dalam proses untuk diterbitkan pada penghujung tahun 2012 (dijangka)

Seterusnya apa yang perlu anda buat adalah anda menggunakan Google untuk mencari sample source code paling mudah ataupun menggunakan nota yang dibuat oleh pensyarah anda. Sebenarnya ianya pasti amat membosankan kerana ianya terlalu senang dengan hello world sahaja. Tetapi percayalah, anda perlu hapuskan perasaan bosan tersebut dan mulakan dari awal.

Oleh sebab itu untuk pelajar saya, saya suruh dia runkan kesemua source code yang di laman web ini http://www.swiftless.com dan saya mahu dia tunjukkan setakat mana dia boleh runkan source code tersebut. Website tersebut memuatkan cara menggunakan OpenGL bersama-sama pengaturcaraan C++. Tidak perlu risau tahu atau tidak penggunaan source code tersebut.

Seterusnya, setelah berjaya runkan setiap source code tersebut. Maka anda perlu diberi tugasan. Oleh sebab itu pensyarah perlu aktif dalam mengajar subjek programming ini dan bukan sekadar dalam slide powerpoint. Sebaliknya tunjukkan secara live bagaimana anda menulis dari awal sehingga akhir sesuatu sample program tersebut di dalam kelas. Sebagai pelajar, kita harus berusaha membuatnya.

Kemudian, bagi tugasan yang perlu dijawab dalam masa 5 minit untuk mengubahsuaikan source code tersebut menggunakan topik yang dipelajari pada hari tersebut. Tugas anda adalah untuk monitor semua pelajar tersebut dan cuba lihat siapa yang lemah dalam mengubahsuaikan source code tersebut. Teruskan dengan another 5 minutes challenge dan sehingga tertapisnya siapa yang lemah dan siapa yang hebat. Tujuannya supaya kita boleh memberi tumpuan yang lebih kepada yang lemah dan kurang kepada yang sudah hebat. Bukan semua dapat menguasai dengan baik bidang pengaturcaraan ini, oleh itu kita perlu saling membantu antara satu sama lain.

Cara seterusnya adalah dengan sentiasa mencari idea bagaimana untuk membuat sesuatu perisian yang memudahkan tugas anda. Sebagai contoh, Visual C++ menggunakan .NET Framework boleh digunakan untuk membuat perisian Vending Machine, Driving Simulator dan sebagainya. Apa yang harus anda tekankan disini adalah menanamkan minat kerana tanpa minat ianya tidak berguna jua.

Pastikan anda tidak meninggalkan pembelajaran pengaturcaraan ini terlalu lama kerana kelak ianya membuatkan anda malas dan akhirnya anda sudah bosan dengen pengaturcaraan. Sebaliknya, cuba setiap minggu anda libatkan diri dengan pengaturcaraan kerana dengan itu anda dapat mem”polish” skill pengaturcaraan anda secara berkala.

 

Jumaat, March 23 2012 Talk

Assalammualaikum,

Alhamdulillah, telah berjaya saya menyampai ucapan saya berkaitan perihal berjogging untuk kesihatan yang saya tulis tempoh hari.

Walaupun ucapan saya sememangnya isi memang seperti tiada, tetapi bila kita berceritakan sesuatu dengan penuh yakin dan berpengalaman, ianya sedikit sebanyak membantu dalam ucapan kita kepada audience di luar sana.

Seperti hubungan suami isteri, kita akan tahu jika dia benar-benar maksudkan dari hatinya. Oleh itu, hubungan suami isteri serta anak-anak ini amat unik. Walaupun kita tidak perlu berkata apa-apa, ianya pasti mendatangkan kesan yang mendalam dalam apa jua perbuatan yang kita buat.

Kehidupan sememangnya mencabar dan dipenuhi segala cubaan.

Kadang-kadang, jika kita berkata benar dan cuba menyampaikan yang benar, ada orang yang tidak suka dan menyekat terus aktiviti seseorang itu.

Sedangkan, bagilah dia bersuara dan terpulang kepada kita untuk menerima atau tidak. Jadikan ianya satu platform untuk kita menjadikan diri kita pandai membuat keputusan.

Mengapa kita harus takut dengan manusia? Tidak perlu takut dengan manusia sebaliknya takut sahaja dengan Allah S.W.T.

Dan, kita juga bukan sempurna. Tidak perlulah kita mengatakan seseorang itu dan ini.

Alangkah bagusnya jika kita sentiasa menerima ketidaksempurnaan seseorang itu disebabkan kita juga tidak sempurna

Dunia akan terus menekan kita sebenarnya, hanya Allah sahaja mampu menjadikan kita tabah dalam hidup. Doa dan usaha yang berkekalan sehingga akhir hayat adalah sesuatu yang patut kita lakukan di bumi Allah ini.

Setiap pemimpin ada ciri-cirinya tersendiri, dan setiap pemimpin juga harus sedar ketidaksempurnaan dirinya untuk berbakti kepada orang bawahan.

Pemimpin bukan bermaksud menindas orang bawahan

Pemimpin bukan bermaksud mengenepikan pendapat dan pandangan rakyat.

Pemimpin sebenar yang layak dijadikan contoh adalah Nabi Muhammad S.A.W.

Sentiasa merendah diri dalam berdakwah.

.

Pembaca sekalian,

Hiduplah dengan gembira tanpa meresahi kehidupan ini.

Seperti saya, saya sentiasa beranggapan kegagalan dan kesalahan itu sebagai satu cara untuk berubah kepada lebih baik. Jika kita merasa diri kita terbaik, maka susah untuk kita berubah ke arah yang lebih baik. Lebih baik kita berfikir seperti ini,

Stay Foolish Stay Hungry.

.

Jadi, bagaimana hendak meneruskan hidup yang mencabar ini?

Teruskan sahajalah, apa yang penting saya teringat satu kisah yang saya tonton dan terdapat elemen nasihat yang baik di dalamnya

Cuba kita lihat dalam kehidupan pelbagai orang yang dikatakan berjaya dalam hidupnya.

Kita tengok mereka mengharungi pelbagai saat getir dan perit untuk menjadi berjaya seperti sekarang ini.

Kenapa mereka tetap meneruskan cabaran getir dan perit serta pelbagai tohmahan orang?

Sedangkan jika mereka berdiam diri dan menjalani kehidupan yang selesa sudah cukup, tetapi mereka memilih untuk mengharungi cabaran demi membetulkan diri mereka dan diri rakan-rakan mereka.

Kagum dengan semangat mereka yang tidak mahu bersenang selagi kejayaan dan usaha dakwah tidak diperluaskan.

Oleh itu, percayalah, Allah pasti merahmati sesiapa yang sanggup berjuang di jalanNya. Walaupun pelbagai tohmahan dilontarkan, tapi diteruskan juga usaha itu.

Sekian,

March 23, 2012 Jam 9.21 am Jumaat

[Teknikal] Jenis-jenis Teknik Pengaturcaraan

Assalammualaikum,

Saya secara tiba-tiba ingin menulis artikel berkaitan teknik-teknik pengaturcaraan (programming) yang “common” di dunia ini.

Baiklah

Terdapat beberapa jenis teknik yang terdapat dalam menulis sesuatu program atau aturcara

1. Teknik Pengaturcaraan Tidak Berstruktur (Unstructred Programming)

Teknik ini biasanya dipelajari oleh diri kita semasa kita mula-mula mengenal dunia pengaturcaraan.

Ianya hanya dibuat secara mendatar sahaja dan lebih kepada permulaan untuk para pelajar mengenal dunia pengaturcaraan.

Contohnya

int main()
{ cout<<"Hello Hamzah"<<endl;
}

ataupun

#include <iostream>
using namespace std;
int main () {
int a,b,c;
c=5;
b=c*5;
a=b+c;
cout << "jawapan bagi a ialah : "<<a<<endl;
return 0;
}

Pendek kata, semuanya disumbat sahaja ke dalam main tersebut dan ini memudahkan pelajar untuk faham asas programming.

Jadi para pelajar dan reader sekalian, Ini disebut sebagai unstructured programming. Semua kita sumbat dalam main.

2. Teknik Pengaturcaraan Berprosedur (Procedural Programming)

Ianya agak sama seperti pengaturcaraan tidak berstruktur di atas kecuali kita kali ini membina fungsi-fungsinya di luar daripada main.

Bermaksud, kita tidak sumbat kesemuanya dalam main. Jika anda mahir peringkat programming ini, bermaksud anda sebenarnya di tahap Moderate Programming in C++ technique.

Contohnya, saya ingin membuat fungsi tolak dan tambah dan kita perlu masukkan nilai dan akhirnya akan memperoleh jawapan

#include <iostream>

using namespace std;

int a,b,c,d;

int tambah()
{
	cout<<"Masukkan Nilai A	:";
	cin>>a;
	cout<<"Masukkan Nilai B	:";
	cin>>b;
	return (a+b);
}

int tolak()
{
	cout<<"Masukkan Nilai C	:";
	cin>>c;
	cout<<"Masukkan Nilai D	:";
	cin>>d;
	return (c-d);
}

int main () {
	cout << "jawapan bagi penambahan a+b ialah : "<<tambah()<<endl;
	cout << "jawapan bagi penolakan c-d ialah : "<<tolak()<<endl;
    return 0;
}

3. Teknik Pengaturcaraan Modular (Modular Programming) 

Baiklah, cuba anda lihat kembali dari segi ayat. Apakah itu struktur? atau modular ataupun ayat “modul” itu sendiri?

Katakan kita belajar subjek Sejarah, di dalamnya terdapat

Modul 1 : Sejarah Dunia.
Modul 2 : Sejarah Asia Tenggara
Modul 3 : Sejarah Malaysia

Jadi, modul ini sebenarnya seperti subtopik yang anda belajar dalam subjek Sejarah.

Ataupun kita ambil contoh anda mengambil Kursus Kejuruteraan Komputer

Dalam Kejuruteraan Komputer, terdapat pelbagai subjek dan setiap subjek ada modulnya tersendiri

Jadi apakah itu modul? Modul dari segi penerangan di atas bermaksud pecahan-pecahan bagi sesuatu tajuk/topik/kursus

Dalam dunia programming, Modular Programming ini bermaksud satu cara programming yang tersusun. Sebagai contoh, saya ingin membuat satu program yang boleh mengira hasil tambah dan hasil tolak (sama seperti diatas tetapi diubahsuai sedikit).

Oleh itu, saya memperkenalkan satu file yang lain iaitu satu dipanggil header file dan satu lagi .cpp file yang bernama tambahtolak.h dan tambahtolak.cpp

Di dalam tambahtolak.h, saya meletakkan dua fungsi berstatus void untuk memastikan saya tidak akan return sebarang nilai. Itulah bagusnya void berbanding int yang memerlukan untuk memulangkan nilai.

Tambahtolak.h

#ifndef tambahtolak_h
#define tambahtolak_h

void tambah(int a, int b);
void tolak(int c, int d);

#endif

di dalam file tambahtolak.h ini saya memperkenalkan dua fungsi void yang mengandungi integer di dalamnya. Saya memerlukannya untuk parsingkan nilai supaya diproses oleh tambahtolak.cpp

tambahtolak.cpp

#include <iostream>
#include "tambahtolak.h"

using namespace std;

void tambah(int a, int b)
{
	cout<<"Masukkan Nilai A	:";
	cin>>a;
	cout<<"Masukkan Nilai B	:";
	cin>>b;
	cout << "jawapan bagi penambahan a+b ialah : "<<a+b<<endl;

}

void tolak(int c, int d)
{
	cout<<"Masukkan Nilai C	:";
	cin>>c;
	cout<<"Masukkan Nilai D	:";
	cin>>d;
	cout << "jawapan bagi penolakan c-d ialah : "<<c-d<<endl;
}

Perhatikan saya meletakkan isi setiap fungsi tersebut. Satu dengan fungsi tambah dan satu lagi dengan fungsi tolak.

Oh ya, bagaimana kita memanggilnya di main.cpp?

main.cpp

#include <iostream>
#include "tambahtolak.h"

using namespace std;

int no1,no2,no3,no4;

int main () {
	tambah(no1, no2);
	tolak(no3, no4);
    return 0;
}

Apabila kita run kan program tersebut

Jadi, apakah kelebihan modular programming ini berbanding dua yang sebelumnya? banyak

– Kita boleh memasukkan seberapa banyak fungsi dalam tambahtolak.cpp tambah perlu mengubah main.cpp

– Kita boleh masukkan fungsi bahagi dan darab di dalamnya tanpa perlu mengubah fungsi dalam main.cpp (tidak perlu sentuh langsung main.cpp). Yang penting kita panggil sahaja di dalam main.cpp

– Kita juga boleh bermain-main dengan nilai yang kita hendak parsing kepada tambahtolak.cpp di bahagian main andaikata kita mahu menghantar nilai-nilai yang lain. Contohnya, kita mahu input diambil daripada main. Maka kita perlu ubah sedikit sahaja.

tambahtolak.h

tambahtolak.cpp

main.cpp

hasilnya

Jadi, cukup sekadar itu, Object Oriented Programming (teknik terakhir) akan saya cover dalam keluaran seterusnya.

Sebenarnya, programming ini sangat menyeronokkan. dan best!!!