26 (edited by aries_smg 20-06-2009 12:08:59)

Re: Tutorial Bahasa Pemrograman C untuk MS-DOS

tambah lagi pak, misalnya untuk buat border, kaya program di kasir kasir itu pak
atau bisakah output dari bahasa c ditambah GUI biar lebih menarik
trims

Re: Tutorial Bahasa Pemrograman C untuk MS-DOS

border?

kalau tampilannya seperti perintah "printf()" yang tampilannya kaya DOS / command prompt...

garis-garis border itu paling bikin sendiri... manual... atau buat fungsi sendiri..

=============================================
Belajar, Belajar, Maen, Maen, Maen, Maen....... biar Mood smile belajarnya

Re: Tutorial Bahasa Pemrograman C untuk MS-DOS

int getchar() baca 1 karakter dari standar input.
'warning' maksudnya msvc buffer overrun security warning?

Re: Tutorial Bahasa Pemrograman C untuk MS-DOS

wah gw baru tao ada int getchar()

bukannya getchar buat ngambil 1 karakter

Adoeh ga ngerti masi nubiieeeee

Re: Tutorial Bahasa Pemrograman C untuk MS-DOS

aries_smg wrote:

tambah lagi pak, misalnya untuk buat border, kaya program di kasir kasir itu pak
atau bisakah output dari bahasa c ditambah GUI biar lebih menarik
trims

Mode tampilan di console dapat dipilih teks atau grafik.
Penggunaan frame/bingkai dalam mode teks sebetulnya dilakukan dengan memilih karakter yang mau dijadikan sebagai frame-nya. Berikut ini adalah tabel kode ASCII untuk kumpulan karakter IBM PC.
http://www.baraya.net/images/ibm-pc-ascii.png

http://www.id-ddns.net/images/ddns-small.jpg

Re: Tutorial Bahasa Pemrograman C untuk MS-DOS

wah wah mengingatkan saat kuliah dulu....
kok gak dilanjut lagi pak mus?
ato tambah quiznya, biar pembaca jadi aktif

Kerjakan Hobimu, Orang akan Membayarmu

Re: Tutorial Bahasa Pemrograman C untuk MS-DOS

hohoho.. ngeliat karakter-karakter.. itu, jadi inget juga waktu sekolah pas pelajaran komputer...

yang pertama kali perhatian tertuju itu loh yang bentuknya kaya jalan dulu...

iseng2 bikin karakter dari bentuk2 jalan itu... hehehe...

Mengenai kuis ... betul juga tuh.. sepi nih.....

=============================================
Belajar, Belajar, Maen, Maen, Maen, Maen....... biar Mood smile belajarnya

33 (edited by vanzeol 25-12-2009 18:49:39)

Re: Tutorial Bahasa Pemrograman C untuk MS-DOS

klo bisa yg c++ nya donk pak, yg oop nya ane kaga ngerti tu

Re: Tutorial Bahasa Pemrograman C untuk MS-DOS

Insya Allah akan saya bahas juga. Maaf waktunya terbatas jadi belum sempet dilanjutkan. smile

http://www.id-ddns.net/images/ddns-small.jpg

Re: Tutorial Bahasa Pemrograman C untuk MS-DOS

BAB V
FUNGSI

Seperti telah disinggung pada bab-bab yang lalu, suatu fungsi merupakan suatu nama atas sekumpulan instruksi. Jadi suatu fungsi merupakan suatu subprogram.

C membedakan fungsi ke dalam 2 kelompok, yaitu fungsi yang mengembalikan suatu nilai dan fungsi yang tidak mengembalikan suatu nilai.

Program utama juga dipandang sebagai suatu fungsi, hanya identifiernya sudah ditetapkan, yaitu main.

Suatu fungsi dibentuk oleh bagian-bagian sebagai berikut.

[type]id_fungsi([argumen])
[deklarasi-argumen]
tubuh fungsi

Seperti halnya variabel, jenis-data nilai yang akan dikembalikan (type) oleh fungsi harus dinyatakan. Jika itu tidak dinyatakan maka dianggap int. Nama fungsi dinyatakan oleh id_fungsi. Komunikasi data antar fungsi dilakukan melalui argumen. Jenis-data untuk setiap argumen dinyatakan dalam deklarasi-argumen. Instruksi-instruksi apa yang harus dilakukan oleh fungsi, dinyatakan dalam tubuh-fungsi. Tubuh suatu fungsi berupa suatu pernyataan-gabungan (compound statement).

Apabila suatu fungsi tidak memiliki argumen maka pada bidang argumen ditetapkan keyword void atau tidak dituliskan apa-apa. Begitu pula, jika dia tidak akan mengembalikan suatu nilai maka pada bidang type ditetapkan keyword void.

Dengan demikian maka contoh suatu fungsi yang paling sederhana adalah:

abcd()
{
}

Fungsi di atas menetapkan abcd sebagai nama/identifier fungsi, tanpa argumen, tanpa suatu instruksi untuk dikerjakan, dan akan mengembalikan nilai berjenis-data int.

Perhatikan pula maksud dari fungsi utama berikut ini.

main()
{
  printf("Hello, world!\n" );
}

Fungsi utama di atas ditetapkan tanpa argumen, memiliki satu instruksi berupa pernyataan-fungsi printf, dan akan mengembalikan nilai berjenis-data int. Pernyataan-fungsi printf digunakan untuk memanggil fungsi tersebut dengan membawa alamat konstanta string “Hello, world!\n"  sebagai argumen.

Argumen fungsi digunakan untuk mengatur komunikasi data antara fungsi yang satu dengan fungsi lainnya. Tepatnya, antara variabel-argumen fungsi dengan nilai-argumen pernyataan-fungsi.

Perhatikan fungsi abcd berikut ini. Fungsi ini memiliki dua buah argumen a dan b berjenis-data int dan memiliki satu pernyataan untuk mencetak nilai kedua argumen tersebut. Berikutnya adalah fungsi-utama yang memiliki tiga buah pernyataan untuk mengaktifkan fungsi abcd tersebut.

void abcd(a,b)
int a, b;
{
  printf("%d %d\n" , a, b);
}

int main()
{
  abcd(2, 5);
  abcd(8, 3);
  abcd(7, 12);
}

Pernyataan-fungsi abcd(2, 5), abcd(8, 3), dan abcd(7, 12) pada fungsi main, secara berturut-turut mengandung arti:

* aktifkan fungsi abcd dengan memberikan konstanta 2 dan 5 untuk variabel-argumen a dan b.
* aktifkan fungsi abcd dengan memberikan konstanta 8 dan 3 untuk variabel-argumen a dan b.
* aktifkan fungsi abcd dengan memberikan konstanta 7 dan 12 untuk variabel-argumen a dan b.

Dengan demikian apabila program di atas dijalankan maka akan diperoleh output:

2 5
8 3
7 12

Deklarasi argumen dapat digabung dan ditempatkan pada bidang argumen, dengan ketentuan penulisan jenis-data dilakukan untuk setiap variabel-argumen. Perhatikan fungsi abcd di atas menurut ketentuan terakhir.

void abcd(int a, int b)
{
  printf("%d %d\n" , a, b);
}

Nilai-fungsi adalah nilai yang dikembalikan/dihasilkan oleh fungsi. Untuk mengembalikan suatu nilai dari tubuh-fungsi kepada ekspresi pernyataan-fungsi digunakan keyword return.

Perhatikan fungsi pangkat sederhana berikut yang digunakan untuk menghitung nilai pangkat dari argumen yang dinyatakannya, kemudian mengembalikan nilai tersebut sebagai nilai fungsi.

/*
mencari harga x pangkat n.
nilai n harus >= 0 dan hasilnya tidak lebih dari 
nilai maksimum jenis-data int
*/

int pangkat(int x, int n)
{
  int hasil;
  hasil = 1;
  while (n > 0)
  { hasil *= x;
    n--;
  }
  return hasil;
}

Keyword return dapat digunakan di sembarang tempat pada tubuh-fungsi. Keyword ini sekaligus juga berfungsi untuk menghentikan alur program pada fungsi. Alur program kemudian berlanjutk pada pernyataan setelah pernyataan-fungsi. Apabila fungsi tidak mengembalikan suatu nilai, maka keyword return tidak diikuti oleh suatu ekspresi.


B. PROTOTIP FUNGSI

Sampai di sini anda telah mengetahui tentang fungsi dan pernyataan-fungsi. Fungsi merupakan sekumpulan instruksi yang diberi nama, sementara pernyataan-fungsi merupakan pernyataan yang digunakan untuk mengaktifkan fungsi yang disebutkannya.

Seperti halnya variabel, setiap fungsi harus telah dideklarasikan sebelum dia digunakan. Maksud utama hal tersebut adalah untuk memudahkan kompiler dalam memeriksa kebenaran penulisan pernyataan-fungsi, apakah itu sesuai atau tidak. Hal itu terutama menyengkut jenis-data nilai-fungsi dan argumen-argumennya.

Pembuatan suatu fungsi dapat dilakukan belakangan tetapi kompiler perlu diberi tahu aturan penulisan yang harus digunakan untuk fungsi tersebut, agar dia mampu memeriksa kebenaran penulisan pernyataan-fungsi yang dimaksud. Itu disebut deklarasi deklarasi-fungsi atau prototip-fungsi.

Penulisan prototip-fungsi hampir mirip dengan penulisan fungsi itu sendiri, hanya ia tidak memerlukan tubuh-fungsi dan penulisan argumen-argumen boleh hanya jenis-datanya saja. Perhatikan Program-5.1 sebagai contoh.

#include <stdio.h>

int factorial(int n); /* prototip fungsi factorial */

int main()
{
  int i = 1;
  while (i < 6)
  { printf("%d! adalah %d\n" , i, factorial(i));
    i++;
  }
  return 0;
}

int factorial(int n)
{
  if (n == 1)
    return(1);
  else
    return(n * factorial(n-1));
}

Apabila program tersebut dijalankan maka akan diperoleh output sebagai berikut.

1! adalah 1
2! adalah 2
3! adalah 6
4! adalah 24
5! adalah 120

C. Fungsi-Fungsi Standar

D. Fungsi-Fungsi I/O Standar

Header file: stdio.h

int getchar(void);
int putchar(int c);
int printf(const char *format[, argumen]…);
int scanf(const *format[, argumen]…);

Jika argumen berada sesudah format maka format harus berisi spesifikasi-bentuk yang mejelaskan bentuk output untuk argumen-argumen itu. Spesifikasi-bentuk selalu dimulai oleh simbol %, dalam bentuk umum berikut.

%[flag][width][.precision][F|N|h|l|L]type


Flag
    Digunakan untuk justifikasi output

Width
    Menetapkan jumlah karakter minimal output

Precision
    Menetapkan jumlah karakter maksimal untuk semua bagian output, atau jumlah angka minimal untuk nilai integer
    F|N|h|l|L    Ukuran default argumen
    F  far pointer
    N  near pointer
    h  short int
    l  long
    L   long double

Type
    d  signed decimal integer
    I  signed decimal integer
    u  unsigned decimal integer
    o  unsigned octal integer
    X  unsigned hexadecimal integer dengan A, B, C, D, E, F
    x  unsigned hexadecimal integer dengan a, b, c, d, e, f
    f  floating point dalam bentuk [-]dddd.dddd
    e  floating point dalam bentuk [-]d.dddd e[+|-]ddd
    E  floating point dalam bentuk [-]d.dddd E[+|-]ddd
    c single character
    s  character string
    p  pointer


F. Fungsi-Fungsi String

Header file: string.h

char *strset(char *s, int ch);
char *strnset(char *s, int ch, int n);
char *strcpy(char *dest, const char *src);
char *strncpy(char *dest, const char *src, int n);
char *strcat(char *dest, const char *src);
char *strncat(char *dest, const char *src, int n);
int strlen(const char *s);
int strcmp(const char *s1, const char *s2);
int strncmp(const char *s1, const char *s2, int n);
char *strlwr(char *s);
char *strupr(char *s);
char *strchr(const char *s, int ch);
char *strstr(const char *s1, const char *s2);

Header file: stdio.h

char *gets(char *s);
int puts(char *s);
int sprintf(char *s, const char *format[, argumen…]);
char *cgets(char *s);
int cputs(char *s);

http://www.id-ddns.net/images/ddns-small.jpg

Re: Tutorial Bahasa Pemrograman C untuk MS-DOS

pak mustofa...

apa sih kegunaan make prototipe fungsi...?
apakah ada kelebihannya gitu..?

Re: Tutorial Bahasa Pemrograman C untuk MS-DOS

holiday wrote:

pak mustofa...

apa sih kegunaan make prototipe fungsi...?
apakah ada kelebihannya gitu..?

Coba perhatikan cuplikan program berikut.

...

void fungsi_1(int n)
{
  ...
}

int main()
{
  ...
  fungsi_1(10);
  ...
  fungsi_1("Nama saya");
  return 0;
}

Pemanggilan fungsi_1(10) adalah benar sementara fungsi_1("Nama saya") adalah salah karena "Nama saya" bukan ekspresi integer. Terhadap program di atas, kompiler akan memberikan pesan kesalahan Cannot convert 'char *' to 'int'.
Kompiler dapat mengetahui kesalahan tersebut karena deklarasi fungsi_1 berada di atas pernyataan fungsi tersebut.

Di dalam praktik, seringkali suatu fungsi dipanggil sebelum itu dideklarasikan atau itu ditulis di dalam file yang berbeda (ini akan dibahas kemudian), yaitu seperti contoh berikut.

...

int main()
{
  ...
  fungsi_1(10);
  ...
  return 0;
}

void fungsi_1(int n)
{
  ...
}

Terhadap program di atas, kompiler akan memberikan pesan kesalahan Function 'fungsi_1' should have a prototype.

Untuk memberitahu kompiler tentang parameter yang digunakan oleh fungsi yang deklarasinya akan dilakukan belakangan atau berada di file lain maka prototipe fungsi tersebut harus dituliskan sebelum fungsi tersebut dipanggil. Untuk contoh di atas, itu dapat dituliskan sebagai berikut.

...

void fungsi_1(int n);

int main()
{
  ...
  fungsi_1(10);
  ...
  return 0;
}

void fungsi_1(int n)
{
  ...
}
http://www.id-ddns.net/images/ddns-small.jpg

Re: Tutorial Bahasa Pemrograman C untuk MS-DOS

thx pak mustofa....

Re: Tutorial Bahasa Pemrograman C untuk MS-DOS

Bab VI
PREPROSESOR C


A. Penggantian String
Pergantian string digunakan untuk menetapkan suatu identifier untuk mewakili sekumpulan karakter tertentu. Itu dilakukan dengan menggunakan menuliskan preprosesor #define diikuti nama identifier yang akan didefinisikan dan diikuti kumpulan karakter yang ditetapkan untuk itu. Contoh:

  #define PI  3.1415926536
  #define  CHAR unsigned char

Dengan adanya pendefinisian di atas maka setiap kita menuliskan "PI" di dalam program, itu akan dianggap sebagai menuiskan "3.1415926536". Begitu pula, setiap kita menuliskan "CHAR" di dalam program, itu akan dianggap sebagai menuliskan "unsigned char".

Perhatikan contoh program berikut.

#include <stdio.h>

#define begin {
#define end }
#define Write printf
#define Read scanf
#define PI  3.1415926536

float r, k, l;

int main()
begin
  Write("Jari-jari = ");
  Read("%f", &r);
  k = 2 * PI * r;
  l = PI * r * r;
  Write("Keliling = %f\n", k);
  Write("Luas     = %f\n", l);  
end

B. Fungsi Makro Dengan Argumen

#define PI  3.1415926536
#define K_Lingkaran(r) (2 * PI * r)
#define L_Lingkaran(r) (PI * r * r)

C. Penggabungan File

#include <path>
#include "path"

http://www.id-ddns.net/images/ddns-small.jpg

Re: Tutorial Bahasa Pemrograman C untuk MS-DOS

pak klo bisa bahas class untuk c++

Re: Tutorial Bahasa Pemrograman C untuk MS-DOS

pak .. tw ga pemrograman C yang berhubungan dengan hardware ap aj .. bingung .. masi awam

Re: Tutorial Bahasa Pemrograman C untuk MS-DOS

om, saya masih newbi sama c++. saya amat sgt ingin bljar c++ cz saya senang dengan pemograman yang menjurus ke gaming trutama pemograman psp yang masih menggunakan c++ dari awal mula main game ingin menjadi pembuat game tp rata2 menggunakn bahasa c++.
yang saya ingin tanyakan tentang c++:

1. apakah bisa kita mencetak huruf "hello world" tanpa menginclude kata "stdio.c"?
2. setelah saya buka file "stdio.c" ternyata brupa coding pula bisakah kita membuat file
    serupa "stdio.c" agar bisa digunakan nantinya?
3. bisa jelaskan isi kode dalam file "stdio.c"?
4. dimana saya bisa kursus khusus c++?

saya akan sangat berterima kasih sekali klo om mw mengirimkan jawabanya melalui email saya di adam_nuwisiha@yahoo.com. terima kaasih.

Re: Tutorial Bahasa Pemrograman C untuk MS-DOS

Pak.....ane mw tanya cara membuat output file dalam format binary gimana ya? contohnya klw kita buka file .mdb, klw d'open ma notepad tu yg kluarnya karakter" aneh...atw dalam format binary...nah ane mw tanya gmn tuh caranya? atau pake ofstream truz karakter yg pengen kita masukin d'encrypt dlu? please pencerahannya....

Re: Tutorial Bahasa Pemrograman C untuk MS-DOS

mantap...
pencerahan bahasa c..
tapi btw, sama dengan pertanyaan diatas, bahasa c bisa g di gunain ke c++??

Re: Tutorial Bahasa Pemrograman C untuk MS-DOS

mantaf nanti kedepannya diharapkan bida membuat os sendiri pake perintah2 tsb dan bisa nyaingi negara negara lain donk yang produksi linux
mantafffffffffffffff

Re: Tutorial Bahasa Pemrograman C untuk MS-DOS

kalo untuk pemrograman C++

wink

Re: Tutorial Bahasa Pemrograman C untuk MS-DOS

buanyak bgt..... knp g di jadiin ebook ja..... kn lebih efisien tuh.... klu kyk gini pusing juga.......hehehe

Re: Tutorial Bahasa Pemrograman C untuk MS-DOS

vanzeol wrote:

pak klo bisa bahas class untuk c++

Klo ada waktu, mudah-mudahan saya dapat membahas tentang C++. Btw, silahkan member lain, yang mo bahas tentang itu, membuat thread khusus tentang C++.

Untuk referensi bahasa C++ silahkan lihat di http://opensource.telkomspeedy.com/foru … hp?id=9479

http://www.id-ddns.net/images/ddns-small.jpg

Re: Tutorial Bahasa Pemrograman C untuk MS-DOS

arcaz wrote:

pak .. tw ga pemrograman C yang berhubungan dengan hardware ap aj .. bingung .. masi awam

Bahasa C cukup banyak yang dibuat untuk hardware/processor tertentu, seperti untuk microcontroller. Silahkan googling dan masukkan kata kunci microcontroller/microprocessor diikuti/diawali dengan huruf C.

http://www.id-ddns.net/images/ddns-small.jpg

Re: Tutorial Bahasa Pemrograman C untuk MS-DOS

nuwisiha wrote:

om, saya masih newbi sama c++. saya amat sgt ingin bljar c++ cz saya senang dengan pemograman yang menjurus ke gaming trutama pemograman psp yang masih menggunakan c++ dari awal mula main game ingin menjadi pembuat game tp rata2 menggunakn bahasa c++.
yang saya ingin tanyakan tentang c++:

1. apakah bisa kita mencetak huruf "hello world" tanpa menginclude kata "stdio.c"?
2. setelah saya buka file "stdio.c" ternyata brupa coding pula bisakah kita membuat file
    serupa "stdio.c" agar bisa digunakan nantinya?
3. bisa jelaskan isi kode dalam file "stdio.c"?
4. dimana saya bisa kursus khusus c++?

saya akan sangat berterima kasih sekali klo om mw mengirimkan jawabanya melalui email saya di adam_nuwisiha@yahoo.com. terima kaasih.

1. Mungkin yang Anda maksud adalah "stdio.h" bukan "stdio.c".
File-file header, seperti "stdio.h" berisi prototip fungsi-fungsi dan sejumlah C Preprocessor. Tentang ini silahkan baca postingan saya sabelumnya.

2. Sangat bisa

3. Terlalu panjang. Silahkan anda baca Reference Manual kompiler C yang anda gunakan.

4. Ya di tempat kursus yang buka pelatihan C/C++.

http://www.id-ddns.net/images/ddns-small.jpg