Sudut pada Bintang

Bintang, bintang dilangit diam-diam merayap... eh salah lagu ya? , Yap bintang adalah Hal yang paling mudah digambarkan.

Bintang yang kita bahas di sini adalah bintang Anak TK , wkwkwk.. ya bintang yang memiliki Lima sudut berikut penampakannya:



Hasil Analisa saya menggunakan AutoCAD, Sudut dari bintang Jika di jumlahkan menjadi 180drajat, Maka 180/5=36derajat itu sudut bintang yang PAS
 
Berikut adalah command Line saat saya menggunakan AutoCAD
 

Sekarang Coba buat bintang sembarang pakai pulpen yang ada dekatmu, Sudut-sudut dalam pada bintang dengan bentuk sembarang jika dijumlahkan hasilnya selalu 180derajat, Percaya?
 

Fungsi dari !DOCTYPE

Saat gue bukak Dreamweaver dan mau mbuat html maka akan keluar


Dari sinilah gue penasaran apa mannfaat dari !doctype itu,  setelah Browsing-browsing , gue nemuin halaman di internet dengan di situs diskusiweb Salah satu pernyataanya sebagai berikut:




  • DOCTYPE adalah suatu deklarasi yang digunakan untuk mengidentifikasi jenis dokumen HTML yang digunakan sehingga browser dapat menentukan bagaimana memperlakukan kode tersebut.

Dan ini

adalah jenis XHTML Strict 1.0 yang mana dokumen dengan deklarasi tersebut kode HTMLnya akan diperlakukan dengan sangat ketat sesuai dengan rekomendasi dari W3C.


Dilain pihak element tabel berdasarkan rekomendasi dari W3C hanya digunakan untuk menampilkan data terstruktur bukan untuk mengatur tampilan dari dokumen. 

Hal ini lah yang kemudian menyebabkan di Mozilla tidak ditampikan sesuai dengan seharusnya. 


Dan mengapa di IE tidak bermasalah, karena browser ini terutama untuk versi 6 kebawah tidak mengikuti aturan dari w3C (Mungkin di IE 7 akan ditampilkan seperti pada mozilla, karena mulai versi ini telah mengikuti aturan standard).


Idealnya dalam mendesain web pertama kali menggunakan Mozilla kemudian baru ke IE dan apabila ada kesalahan dapan diperbaiki dengan "conditional comment". 


Solusi termudah dari masalah diatas adalah menganti deklasari DOCTYPE dengan DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd", yang mana pada tipe deklarasi ini tidak mengikuti aturan standard. 


Tetapi saya merekomendasikan untuk mengganti struktur dokumen secara keseluruhan (bisa menggunakan tag div untuk menggantikan tag table dan kemudian menggunakan CSS untuk mengatur tampilan dari dokumen).

http://www.alistapart.com/articles/doctype/




dan comment

cara mengatasi error accessing the system registry microsoft visual basic win7

Saya kira VB saya yang error, eh setelah saya browsing ternyata ketemu juga, so.. chekout :

Setelah selesai menginstal Visual Basic (VB 6.0) di windows 7 32/64 Bit, buka Windows Explorer. Masuklah ke direktori C:\Program Files\Microsoft Visual Studio\VB98\ atau sesuai dengan direktori anda.
  1. Cari file VB6.exe
  2. Klik kanan file VB6.exe dan pilih PROPERTIS

  1. Klik tab Compatibility

      • Pada bagian Compatibility Mode beri tanda Centang pada bagian Run this program in compatibility mode for
      • Pada bagian Combo Box dibawahnya partikan anda memilih Windows XP (Service Pack 3)
      • Jangan lupa juga untuk memberi tanda Centang pada bagian Disable Visual Themes, Disable Desktop Composition dan Disable display scaling on high DPI settings
      • Jika ingin menghilangkan pertanyaan User Account Control saat menjalankan Visual Basic 6.0 beri tanda centang juga pada bagian Privilege Level –> Runs This Program As An Administrator

Cara menampilkan mysql di cmd tercepat

pertama2 bukalah win+pause break
pilih advanced system setting



Kemudian Pilihlah environment variables


Selanjutnya cari di System variables yang bernama Path, kemudian klik edit



cari file dimana lokasi bin ditaruh , biasanya di C:\xampp\mysql\bin



Copas ke tempat sytem variable value path tadi


Jalankan Mysql di Xampp

Buka commad Prompt (cmd), ketikkan mysql -u root 


 Just it .. selamat datang di Mysql Monitor
semoga bermanfaat..







cara menampilkan mysql di xampp secara cepat
cara menampilkan mysql di cmd dengan cepat

Mengakses Mysql melalui comand prompt (cmd)
cara menampilkan mysql di cmd tercepat

Array Bag 1

Pengambilan Keputusan

Kontek Pertemuan ke 9

Download

Materi 6 Optical Memory


-->
Pada tahun 1983, salah satu produk yang paling berhasil sepanjang masa dilincurkan:
Sistem Audio Digital Compact Disc(CD). CD merupakan disk yang tidak adapt dihapus yang dapat menyimpan lebih dari 60 menit informasi audio pada salah satu sisinya. Keberhasilan secara komersial terbesar yang dihasilkan CD memungkinkan pembuatan teknologi menyimpan disk komputer. Pada beberapa tahun silam, berbagai jenis sistem disk optis telah diperkenalkan. Tiga dari sistem ini mengalami peningkatan untuk digunakan dalam komputer, diantaranya : CD-ROM, WORM dan disk optis yang dapat dihapus.

CD-ROM

Baik CD Audio maupun CD-ROM (compact disk read only memory) menggunakan teknologi yang sama. Perbedaan utamanya adalah : CD-ROM player lebih kasar dan memiliki perangkat error-correcting untuk menjamin bahwa data ditransfer dengan benar dari disk ke komputer. Kedua jenis CD itupun dibuat dengan cara yang sama. Disk dibuat dari resin, seperti poly carbonate , dan dilapisi dengan permukaan yang sangat reflektif, biasanya alumunium. Informasi yang disimpan secara digital (baik musik maupun data komputer) diterbitkan sebagai kumpulan lubang-lubang microskopis pada permukaan yang reflektf. Hal ini pertama-tama dilakukan dengan menggunakan laser berintensitas tinggi yang di fokuskan denga teliti untuk membuat master disk. Permukaan yang berubang disk salinan (hasil copy/burning) dilindungi ari debu dan gesekan dengan lapisan bening. Informasi dilacak dari CD atau CD-ROM dengan laser berintensitas rendah yang ditempatkan didalam optical-disk. Itensitas sinar laser yang diefleksikan akan berubah ketika mengenai lubang-lubang tersebut. Perubahan ini dideteksi oleh fotosensor dan dikonversikan menjadi signal digital.

Data pada CD-ROM diorganisasikan sebagai sebuah rangkaian blok-blok. Format ini terdiri dari field-field sebagai berikut :
  • Sync(sinkronisasi): Field sync mengidentifikasikan awal sebuah blok. Field ini terdiri dari sebuah byte yang seluruhnya 0, 10 byte yang seluruhnya 1, dan sebuah byte yan g seluruhnya 0. (010)
  • Header: Header terdiri dari alamat blok dan byte mode. Mode 0 menandakan suatu field data blanko: mode 1 menandakan menandakan penggunaan kode error-correcting dan 2048 byte data; mode 2 2 menandakan 2336 byte data pengguna tanpa kode error correcting.
  • Data: data pengguna (Data pada CD-ROM)
  • Auxiliary: Data pengguna tambahan dalam mode 2. pada mode 1, data ini merupakan kode error-correcting 288 byte


WORM(Write-Once Read-Many)

untuk mengakomodasi aplikasi-aplikasi hanya diperlukan sebuah atau sejumlah kecil salinan sekumpulan data, maka telah dibuatlah WORM. Pada WORM. Sebuah disk disiapkan sedemikian rupa sehingga disk itu dapat di tulisi sekali dengan sinar laser yang beritensitas sedang. Disk Optis WORM sangat menarik untuk digunakan keperluan penyimpanan arsip dokument dan file. Disk ini menampung rekaman data dan pengguna dalam ukuran besar yang permanen.

CD-RW (Disk Optis yang dapat dihapus / ditulisi ulang)

Disk Tipe ini dapat di tulis dan ditulisi kembali secara berulang-ulang, seperti halnya disk magnetis. Walaupun sejumlah pendekatan telah dilakukan. Teknologi satu-satunya yang telah terbukti layak secara komersial adalah magneto-optis. Pada sistem ini, energi sinar laser digunakan secara bersama-sama dengan menggunakan medan magnet untuk merekanm dan menghapus informasi, dengan membalik kutub-kutub magnetik pada daerah kecil pada disk yang melapisi bahan magnetis. Sinar laser memanasi titik tertentu pada media, dan medan magnet dapat mengubah arah titik tersebut sementara temperaturnya diingkatkan. Karena proses polarisasinya tidak mengakibatkan perubahan fisika pada disk, maka proses dapat dilakukan dengan berulang-ulang. Untuk pembacaan arah medan magnet dapat dideteksi dengan sinar laser yang terpolarisasi. Cahaya terpolarisasi yang dipantulkan dari titik tertentu akan mengubah derajat rotasinya tergantung pada arah medan magnet.
Keuntungan-keuntungan utama disk optis yang dapat dihapus dibanding disk magnetis adalah:

  • Berkapasitas besar, sebuah disk optis 5,25 inch dapat menampung data sekitar 650Mbyte.
  • Portabilitas. Disk Optis dapat dipindahkan dari drive-nya.
  • Reliabilitas : Toleransi teknik untuk disk optis sanga t baik dibandingkan dengan disk magnetik berkapasitas tinggi. Sehingga disk optis menunjukkan realibilitas dan tahan lama.

PITA MAGNETIK(Tape Drive)

Sistem Pita menggunakan teknik pembacaan dan penulisan yang sama dengan sistem disk. Medianya pita mylar lentur yang dilapisi dengan oksida magnet. Pita dan Drive pita merupakan analog (sama/perumpamaan) terhadap tape recorder yang sering digunakan dirumah-rumah. Medium pita berbentuk track-track paralel dalam jumlah sedikit. Umumnya sistem pita yang kuno memakai 9 buah track. Hal ini dibuat untuk memungkinkan penyimpanan data datu byte sekali simpan, dengan bit paritas tambahan sebagai track ke-9. Sistem pita yan gterbaru menggunakan 18 atau 36 track. Seperti halnya disk, data ditulisi dan dibaca dalam bentuk block-block, yang disebut pysical record pada pita. Block-block pada pita dipisahkan oleh gap yang dikenal sebagai inter-record gaps.

Drive pita merupakan perangkat Sequential-acces. Bila head pita ditempatkan pada record 1, maka supaya dapat membaca record N, maka perlu membaca record-record fisik 1 hingga n-1 pada suatu saat bila head berada pada tempat yang lebih atas dari record yang diinginkan, maka pita perlu dimundurkan hingga jarak tertentu terlebih dahulu dan baru memulai membacanya dengan arah maju. Tidak seperti disk pada pita bergerak selama operasi baca dan tulis saja.

Program Penjualan Dasar

 Soal : 

Buatlah Program menggunakan C++ yang outputnya sbb :

Masukkan Kode Barang : 
Masukkan Nama Barang :
Masukkan Harga Barang :
Masukkan Jumlah Barang :
ISI DATA LAGI [y/n] :

Jumlah Barang :
Total Harga Barang :
Bayar :
Kembali :

Sebenarnya Soal ini saya dapatkan di salah satu kelas di Kampus Asia Malang, dan Alhamdulillah dapat saya kerjakan, silahkan cekidot...


jika 'y' maka isi data lagi, jika tidak maka akan muncul hasil bb:

Silahkan download/copy kodenya dibawah ini



Operasi Dasar Masukan dan Keluaran Bahasa Pemrograman C++


Cout

Dengan menggunakan obyek ini, anda dapat meletakkan suatu informasi ke standard output (normalnya berupa layar).
Untuk menampilkan tulisan "coba cout dengan ganti baris" yang diikuti dengan ganti baris (newline), anda bisa menggunakan pernyataan berikut:
cout << "coba cout dengan ganti baris\n";
Untuk menampilkan tulisan "Tanggal : " diikuti dengan isi variabel tgl dan kemudian karakter newline, pernyataan yang diperlukan:
cout "Tanggal : " << tgl << '\n';
Pada contoh di atas terdapat karakter khusus berupa newline yang penulisannya berupa '\n'. Karakter seperti ini dikenal dengan sebutan escape sequence. Pada pemrograman C++ terdapat sejumlah karakter yang tergolong sebagai escape sequence.

Manipulator

Manipulator umumnya digunakan untuk mengatur tampilan data. Misalnya untuk mengatur agar sesuatu nilai ditampilkan dengan sepuluh karakter dan diatur rata kanan terhadap lebar tersebut. Tabel berikut berisikan jumlah manipulator pada bahasa pemrograman C++.
Tabel A. Manipulator
ManipulatorKeterangan
endlMenyisipkan newline dan mengirimkan isi penyangga keluaran ke piranti keluaran
endsMenyiapkan karakter null
flushMengirimkan isi penyangga keluaran ke piranti keluaran
decMengonversi ke bilangan basis sepuluh
hexMengonversi ke bilangan basis 16 (oktal)
octMengonversi ke bilangan basis 8 (oktal)
setbase(int n)Mengonversi ke bilangan basis n (n=8, 10 atau 16)
setw(int n)Mengatur lebar field untuk suatu nilai sebesar n karakter
setfill(int c)Menyetel karakter pemenuhan berupa c
setprecision(int n)Menyetel presisi bilangan pecahan sebesar n digit
setiosflags(long f)Menyetel format yang ditentukan oleh f. f adalah tanda format pada Tabel B
resetiosflags(long f)Menghapus format yang ditentukan oleh f. f adalah tanda format pada Tabel B
a. Manipulator endl
Manipulator endl digunakan untuk menyisipkan karakter newline. Dengan kata lain manipulator ini identik dengan '\n'. Namun endl lebih disukai daripada '\n' karena lebih memberikan kejelasan. Selain itu, manipulator ini menjamin data langsung dikirimkan ke piranti keluaran. Hal ini sangat bermanfaat terutama kalau piranti keluaran berupa file di disk.
Contoh program yang menggunakan manipulator endl:
// barang1.cpp
// program ini menampilkan tiga buah jumlah barang dan
// menggunakan manipulator endl
// Oleh: Benidiktus Sihotang, STP
#include
#include
void main()
{
int jlhbarisa=100,
int jlhbarisb=232,
int jlhbarisc=888;
clrscr;                 // menghapus layar
cout << "Barang A = " << jlhbarisa << endl;
cout << "Barang B = " << jlhbarisb << endl;
cout << "Barang C = " << jlhbarisc << endl;
}
Jika program di atas dikompilasi dan kemudian dijalankan, hasilnya adalah sebagai berikut:
C:\PRG>barang1
Barang A = 100
Barang B = 232
Barang C = 888
C:\PRG>_
b. Manipulator setw()
Manipulator setw() bermanfaat untuk mengatur lebar dari suatu tampilan data. Sebagai contoh data jumlah pada program barang2.cpp dapat ditampilkan rata kanan dengan cara seperti di bawah ini:
// barang2.cpp
// program ini menampilkan tiga buah jumlah barang dan
// menggunakan manipulator setw
// Oleh: Benidiktus Sihotang, STP
#include
#include
#include
void main()
{
int jlhbarisa=10,
int jlhbarisb=232,
int jlhbarisc=1788;
clrscr;                 // menghapus layar
cout << "Barang A = " << setw (5) << jlhbarisa << endl;
cout << "Barang B = " << setw (5) << jlhbarisb << endl;
cout << "Barang C = " << setw (5) << jlhbarisc << endl;
}
Jika program di atas dikompilasi dan kemudian dijalankan, hasilnya adalah sebagai berikut:
C:\PRG>barang2
Barang A =     10
Barang B =    232
Barang C =  1788
C:\PRG>_
c. Manipulator setfill()
Manipulator setfill berguna untuk mengatur karakter yang dipakai memenuhi bagian field yang ditentukan setw(); yang tidak dipakai untuk menampilkan data. Misalnya, jika diberikan perintah:
cout << setw (6) << 234 << endl;
maka 123 akan ditampilkan dengan lebar 6 karakter dan didahului oleh tiga karakter spasi. Apabila sebelum pernyataan di atas terdapat pernyataan:
cout << setfill ('*');
hasilnya berupa: ***123.
d. Manipulator dec, oct dan hex
Manipulator dec, oct dan hex berguna menampilkan suatu data dalam bentuk desimal (bilangan basis 10), oktal (bilangan Basis 8) dan heksadesimal (bilangan basis 16).
// konversi.cpp
// program ini mengonversi ke desimal, oktal
// dan heksadesimal
// Oleh: Benidiktus Sihotang, STP
#include
#include
#include
void main()
{
int nilai=250;
clrscr;                 // menghapus layar
cout << nilai << endl;
cout << oct << nilai << endl;
cout << hex << nilai << endl;
cout << dec << nilai << endl;
}
Hasil eksekusi:
C:\PRG>konversi
250
372
fa
250
C:\PRG>_
Tampak bahwa jika manipulator dec, oct atau hex tidak digunakan, suatu nilai ditampilkan dalam basis sepuluh.
e. Manipulator setbase()
Pengonversian ke oktal, desimal atau heksadesimal juga dapat dilakukan dengan menggunakan manipulator setbase(). Misalnya: setbase(8) identik dengan: oct.
f. Manipulator flush
Pada saat mengeluarkan standar data ke standar output, cout menggunakan suatu penyangga (buffer). Jika penyangga belum penuh, cout tidak mengirimkan ke standard output. Hal ini dilakukan untuk mengidentifikasikan pengiriman ke standard output.
Agar data yang dikirimkan ke cout langsung ditransfer ke stardard output, anda dapat menambahkan manipulator flush di akhir data. Namun perlu diketahui, kalau anda menggunakan endl, sebenarnya manipulator ini identik dengan newline diikuti dengan flush. Dengan demikian, tiga buah pernyataan berikut mempunyai makna yang sama:
cout << "C++\n" << flush;
cout << "C++" << endl;
cout << "C++" << '\n' << flush;
g. Manipulator ends
Berfungsi untuk menambahkan karakter null (ASCII nol) ke deretan suatu karakter. Hal ini kadang-kadang diperlukan, misalnya jika ingin mengirim sejumlah karakter ke file disk atau modem dan mengakhirinya dengan karakter null.
Contoh:
cout << 'c' << 'd' << 'e' << ends;
Pernyataan di atas mengirimkan tiga buah karakter (c, d dan e) serta sebuah karakter nul. Pada layar, ends akan menimbulkan sebuah karakter kosong.
h. Pemakaian setiosflags()
Manipulator setiosflags() merupakan manipulator yang dapat dipakai untuk mengontrol sejumlah tanda format yang tercantum pada Tabel B.
Tabel B. Tanda format untuk setiosflags() dan resetiosflags()
Nama tanda formatKeterangan
ios::leftMenyetel rata kiri terhadap lebar field yang diatur melalui setw()
ios::rightMenyetel rata kanan terhadap lebar field yang diatur melalui setw()
ios::scientificMemformat keluaran dalam notasi eksponensial
ios::fixedMemformat keluaran dalam bentuk notasi desimal
ios::decMemformat keluaran dalam basis 10 (desimal)
ios::octMemformat keluaran dalam basis 8 (oktal)
ios::hexMemformat keluaran dalam basis 16 (heksadesimal)
ios::uppercaseMemformat huruf pada notasi heksadesimal dalam bentuk huruf kapital
ios::showbaseMenampilkan awalan 0x untuk bilangan heksadesimal atau 0 (nol) untuk bilangan oktal
ios::showpointMenampilkan titik desimal pada bilangan pecahan yang tidak memiliki bagian pecahan
ios::showposUntuk menampilkan tanda + pada bilangan  positif
i. Pemakaian resetiosflags()
Adakalanya setelah tanda format tertentu digunakan (misalnya ios::showbase), diinginkan untuk kembali ke keadaan semula. Hal ini sering terjadi pada program yang besar. Untuk menangani kasus seperti ini, pada C++ terdapat manipulator bernama resetiosflags().
Misalnya:
setiosflags(ios::showbase)
telah digunakan. Untuk kembali ke keadaan semula, anda bisa memberikan:
resetiosflags(ios::showbase)
Lebih jelasnya, penggunaan manipulatordi atas dilakukan untuk menghilangkan tanda awalan 0 pada  bilangan oktal atau 0x pada bilangan heksadesimal pada tampilan berikutnya.
j. Manipulator setprecision()
Apabila anda bekerja dengan bilangan pecahan, anda juga bisa mengatur jumlah digit pecahan yang ingin ditampilkan. Hal ini dapat dilakukan dengan menggunakan manipulator setprecision(). Bentuknya:
setprecision(n)
dengan n menyatakan jumlah digit pecahan yang diinginkan.
Sebagai contoh:
cout << setprecision(2) << 123.56789 << endl;
akan menampilkan:
123.57
Bagian pecahan terdiri dari dua digit sesuai dengan argumen pada setprecision().

Cin

Bahasa pemrograman C++ menyediakan suatu obyek bernama cin (baca: C in). Obyek ini bermanfaat untuk membaca data dari standard input (normalnya adalah keyboard).
1. cin dengan Sebuah Variabel
Bentuk pernyataan cin untuk membaca data dari keyboard dan meletakkan ke sebuah variabel bernama var:
cin >> var,
Tanda >> disebut operator "pengambilan dari".
2. cin dengan Lebih dari Satu Variabel
Bentuk cin juga dapat seperti berikut:
cin >> bil_x >> bil_y;
Pernyataan di atas digunakan untuk membaca bil_x dan bil_y.
3. cin untuk Membaca Karakter
cin juga dapat dipakai untuk membaca sebuah karakter:
cin >> karakter
Contoh program cin membaca karakter:
// cinkarakter.cpp
// program ini membaca karakter dengan cin
// Oleh: Benidiktus Sihotang, STP
#include
#include
#include
void main()
{
char karakter;
clrscr();     // menghapus layar
cout << "Masukkan sebuah karakter. ";
cin >> karakter;
cout << "Anda mengetik " << karakter << endl;
}
Hasil eksekusi:
C:\PRG>cinkarakter
Masukkan sebuah karakter. x
Anda mengetik x
C:\PRG>_

Fungsi getch() dan getche()

Fungsi getch() dan getche() berguna untuk membaca sebuah karakter tanpa perlu menekan enter. Selain itu, fungsi ini juga dapat dipakai untuk membaca tombol seperti spasi, tab ataupun enter.
Bentuk pemakaiannya:
karakter = getch();
karakter = getche();
Kode tombol yang ditekan akan diberikan ke variabel karakter yang bertipe char. Perbedaan kedua fungsi di atas yaitu fungsi getch() tidak menampilkan karakter dari tombol yang ditekan, sedangkan fungsi getche() karakter dari tombol yang ditekan akan ditampilkan.
Apabila fungsi getch() atau getche() digunakan, file header bernama conio.h perlu disertakan dalam program.

cerr

Biasanya pesan kesalahan yang ingin ditampilkan dari suatu program C++ tidak dilakukan dengan cout, melainkan dengan cerr. Tujuannya adalah agar pesan dikirim ke piranti yang berbeda dengan dengan informasi yang bukan berupa pesan kesalahan. Dengan demikian jika dikehendaki nantinya kedua jenis informasi tersebut dapat dipilahkan (melalui pengalihan arah / redirection).
Sebagai contoh:
cerr << "Memori penuh. Program tidak dapat dijalankan\n";
akan mengirimkan string:
"Memori penuh. Program tidak dapat dijalankan\n"
ke standard error.

KONSEP DASAR BAHASA C++


KONSEP DASAR BAHASA C++

SEJARAH
Bahasa C dikembangkan di Bell Laboratories pada tahun 1972 oleh Dennis Ritchie. Prinsip dasar dan
idenya didapat dari bahasa yang sudah ada sebelumnya yaitu bahasa B dan BCPL dan CPL.(Combined
Programming Language) yang dikembangkan dengan tujuan untuk membentuk suatu bahasa yang mampu
untuk pemrograman high level, machine independent programming dan masih memungkinkan para pemrogram
untuk mengatur prilaku informasinya. Masalah utama dari CPL adalah ukurannya yang terlalu besar untuk
digunakan pada beberapa aplikasi. Pada tahun 1967, BCPL ( Basic CPL ) diciptakan dan dikembangkan oleh

Martin Richards, dan kemudian dikembangkan menjadi bahasa B oleh Ken Thompson ditahun 1970, untuk
system UNIX pertama pada PDP-7 di Bell Laboratories. Akhirnya pada tahun 1972, bahasa B dikembangkan
menjadi bahasa C. Compiler C yang pertama didesain dan diimplementasikan oleh Dennis Ricthie dan
digunakan di computer Digital Equipment Corporation PDP-11 yang menggunakan system operasi UNIX
Bahasa C pertama kali. C adalah “K & R” C, yang merupakan singkatan dari nama penemunya. Selama akhir
tahun 1970, C berkembang melalui banyak akademi dan universitas, karena kedekatannya dengan Unix dan
ketersediaan dari C compiler. Kepopuleran C menyebabkan berbagai organisasi menggunakan vers C sendiri
dan mengakibatkan masalah kompatibilitas. Untuk mengatasi hal ini, pada tahun 1983, American National
Standards Institute ( ANSI ) membentuk sebuah komite untuk menetapkan definisi standar bahasa C, yang
kemudian dikenal dengan istilah ANSI Standard C. Penggunaan bahasa C saat ini berkembang dengan standar
fungsi library yang banyak.
Alasan-alasan Menggunakan Bahasa C
1. Bahasa C tersedia hampir disemua jenis komputer.
2. Kode bahasa C bersifat Portable.
3. Bahasa C hanya menyediakan sedikit Reserved Word. Keandalan C dicapai dengan fungsi-fungsi
pustaka.
4. Proses executable program dalam bahasa C lebih cepat.
5. Dukungan pustaka yang banyak.
6. C merupakan bahasa terstruktur.
7. Selain bahasa tingkat tinggi, C juga dianggap sebagai bahasa tingkat menengah.
8. C adalah bahasa kompiler.
STRUKTUR PROGRAM C
Struktur program C dapat dilihat sebagai kumpulan satu atau lebih fungsi-fungsi.Fungsi yang harus ada
adalah main(), karena fungsi ini merupakan titik awal dan titik akhir peng-eksekusian program. Diawali dengan
tanda ( { ) dan diakhiri dengan ( } ). Bentuk umumnya :
main()
{
Block statement;
}
Bahasa C dikatakan sebagai bahasa pemrograman terstruktur, karena strukturnya menggunakan
fungsi-fungsisebagai program-program bagian (subroutine). Fungsi-fungsi ini dapat ditulis setelah fungsi utama
atau diletakkan di file pustaka (library). Jika Fungsi diletakkan di file library dan akan dipakai pada suatu
program maka nama header file- nya harus disertakan didalam program dengan preprocessor directive
#include.
Contoh program sederhana :
#include 

main()
{
printf(“Hello World…!!! “);
}
HEADER FILE
Merupakan file yang berisi prototype (judul, nama, dan sintaks ) dari sekumpulan fungsi-fungsi pustaka
tertentu, sedangkan fungsi-fungsi pustakanya sendiri disimpan difile pustaka (library file dengan extension .LIB).
Cara penulisannya adalah
#include 

File stdio.h akan dicari mulai dari directory tempat header file tersebut di-install. Jika tdk ada akan dilanjutkan
mencarinya ke current / working directory.
atau
#include “nama header file”
File stdio.h akan dicari mulai dari current / working directory, dan jika tdk ada akan dilanjutkan mencarinya ke
directory tempat header file tersebut disimpan pada saat menginstall compiler-nya.
RESERVED WORD
Bahasa C standar ANSI mempunyai 32 kata kunci dan turbo C menambahkan 7 kata kunci. Katakunci
ini tidak dapat digunakan sebagai nama variable atau nama fungsi.
asm * default for pascal * switch
auto do goto register typedef
break double huge * return union
case else if short unsigned
cdecl * enum int signed void
char extern interrupt * sizeof volatile
const far * long static while
continue float near * struct
Ket : tanda * menunjukan tambahan dari turbo C
Bahasa C adalah bahasa yang case sensitive. Huruf kecil dibedakan dengan huruf besar dan
semua kata kunci ditulis dalam huruf kecil.
IDENTIFIER NAME
Merupakan nama yang dibuat oleh programmer untuk pemberian nama variable, konstanta, fungsi atau label.
Identifier name bebas dibuat dengan ketentuan sbb :
1. Panjang minimal 1 karakter, maksimaltidak terbatas, tetapi hanya 32 karakter pertama saja yang
diperhatikan.
2. Karakter pertama harus berupa huruf atau garis bawah.
3. Tidak diperbolehkan menggunakan karakter khusus dan blank/spasi.
4. Case sensitive, huruf besar dan kecil dianggap beda.
5. Tidak diperkenankan menggunakan kata kunci.
STATEMENT
Statement adalah pernyataan yang menyebabkan suatu tindakan dilakukan oleh komputer. Statement dalam
bahasa C diakhiri dengan tanda titik koma ( ; ) . Jenis statement diantaranya :
a. Empty Statement / Null Statement
Statemen kosong adalah statement yang hanya terdiri dari peng-akhir titik koma saja, sehingga tidak
melakukan tindakan apapun. Digunakan untuk membuat perulangan kosong yang dimaksudkan untuk
memberi jarak ke proses selanjutnya.
b. Expression Statement
Statemen ungkapan merupakan statemen yang dibentuk dari ungkapan yang diakhiri dengan titik koma.
c. Control Statement
Statemen kendali merupakan statemen yang berfungsi untuk mengendalikan proses dari program,
dapat berupa proses seleksi kondisi, perulangan atau lompatan. Statemen ini dibentuk dengan
menggunakan kata kunci if, switch, do-while, goto, break dan continue.
d. Coumpound Statement/Block Statement
Statemen jamak adalah statemen yang terdiri dari beberapa statemen tunggalyang ditulis diantara
tanda kurung kurawal ( { } )
KONSEP TIPE DATA
TIPE DATA
C menyediakan 5 macam tipe data dasar, yaitu tipe data integer (numerik bulat dideklarasikan dengan
int), floating point (numerik pecahan ketepatan tunggal dideklarasikan dengan float), double precision (numerik
pecahan ketepatan ganda dideklarasikan dengan double), karakter (dideklarasikan dengan char) dan kosong
(dideklarasikan dengan void). Untuk int, float, double dan char dapat dikombinasikan dengan pengubah
(modifier) signed, unsigned, long, short, maka hasilnya menjadi seperti pada tabel berikut.
Tipe Data Dasar
TIPE Lebar Jangkauan Nilai
int 16 bit - 32768 s/d 32767
signed int
short int
signed short int
unsigned int 16 bit 0 s/d 65535
unsigned short int
long int 32 bit - 2147483648 s/d 2147483649
signed long int
unsigned long int 32 bit 0 s/d 4294967296
float 32 bit 3.4E-38 s/d 3.4E+38
double 64 bit 1.7E-308 s/d 1.7E+308
long double 80 bit 3.4E-4932 s/d 3.4E+4932
char 8 bit - 128 s/d 127
signed char
unsigned char 8 bit 0 s/d 255
KONSTANTA
Konstanta adalah suatu nilai yang tidak pernah berubah selama proses program. Dibagi menjadi 4, yaitu :
a. Konstanta Numerik Integer
Merupakan nilai numerik bilangan bulat. Sesuai dengan tipe data yang ada maka dapat berupa
konstanta numerik integer bertanda diberi tanda, integer tidak bertanda (diberi huruf u atau U pada
akhir nilainya), integer panjang bertanda (diberi huruf l atau L diakhir nilainya) dan integer panjang tidak
bertanda (diberi huruf ul atau UL diakhir nilainya).
b. Konstanta numerik pecahan
Merupakan nilai numerik yang dapat mempunyai nilai pecahan dibelakang titik desimal. Dapat bernilai
ketepatan tunggal (float), ketepatan ganda (double), atau ketepatan ganda panjang (long double).
c. Konstanta Karakter dan String
Merupakan nilai sebuah karakter yang ditulis diantara tanda petik ganda. Pengertian karakter disini
meliputi huruf a-z atau A-Z, digit 0 – 9 karakter khusus dan karakter grafik.
d. Konstanta Karakter Escape
Escape character banyak digunakan di statemen-statemen untuk menampilkan hasil. Konstanta
karakter escape diawali dengan tanda ‘ \ ‘.
Karakter Escape Fungsi
\a bunyi bel (bell atau alert)
\b mundur 1 spasi (backspace)
\f ganti halaman (form feed)
\n ganti baris baru (new line)
\r ke kolom pertama, baris yang sama (carriage return)
\t tabulasi horisontal
\v tabulasi vertikal
\0 nilai kosong (null)
\’ karakter petik tunggal
\” karakter petik ganda
\\ karakter backslash
OPERATOR
Macam-macam operator yang tersedia
Operator adalah suatu tanda atau simbol yang digunakan untuk suatu operasi tertentu. Bahas aC menyediakan
operator pengerjaan, operator aritmatika, operator tipe, operator hubungan, operator logika, operator bitwise,
operator ternary dan operator koma.
Operator Aritmatika (Arithmetic operator)
Operator Fungsi Jenjang
* Perkalian 3
/ Pembagian 3
% Pembagian modulo (Sisa pembagian) 3
+ Penjumlahan 4
- Pengurangan 4
Operator aritmatika melibatkan 2 buah operand, terkadang operand yang digunakan berbeda tipenya. Untuk
menghindari hal-hal yang tidak diinginkan maka kompiler C mempunyai pedoman untuk operand yang berbeda
tipe :
1. Tipe char akan dikonversikan ke tipe int
2. Tipe float akan dikonversikan ke tipe double
3. Jenjang tertinggi adalah mulai dari long double, double, long int, unsigned int, dan int. ini berarti
tipe double dioperasikan dengan tipe int akan menghasilkan tipe double.
Operator Unary (Unary Operator)
Operator unary merupakan operator yang hanya menggunakan sebuah operand saja. Operatoroperator
unary mempunyai jenjang 2.
Operator Fungsi
- Unary minus
++ Increase dgn penambahan nilai 1
-- Decrease dengan pengurangan nilai 1
(tipe) Cast
sizeof Ukuran operand dalam byte
! unary NOT
~ Komplemen 1 (bitwise NOT)
& Menghasilkan alamat memori operand(operator pointer)
* Menghasilkan nilai pengenal dialamatnya(operator pointer)
Operator Pengerjaan Aritmatika (Assigment Operator)
Operator pengejaan digunakan untuk memindahkan nilai dari suatu ungkapan kesuatu pengenal.
Operator pengerjaan mempunyai jenjang 14.
Operator Contoh Ekuivalen dengan
= A = B + C Mengerjakan B + C ke A
+= A += 1 A = A + 1
-= A -= B A = A – B
*= A *= B A = A * B
/= A /= B A = A / B
%= A %= B A = A % B
Operator Hubungan (Relational Operator)
Operator hubungan digunakan untuk menunjukkan hubungan antara 2 buah operand. Banyak digunakan untuk
penyeleksian kondisi dengan statement if, do-while, atau while.
Operator Fungsi Jenjang
<> Lebih besar dari 6
>= Lebih besar atau sama dengan 6
== Sama dengan 7
!= Tidak sama dengan 7
Operator Logika (Logical Operator)
Operator logika digunakan untuk membandingkan logika hasil dari operator-operator hubungan.
Operator Fungsi Jenjang
&& Logika DAN (AND) 11
Logika ATAU (OR) 12
Operator Koma (Comma Operator)
Operator koma digunakan untuk menggabungkan beberapa ungkapan dengan proses yang berurutan dari
ungkapan sebelah kiri koma ke ungkapan sebelah kanan koma. Operator koma mempunyai jenjang 16.
Operator Bitwise
Operator bitwise digunakan untuk memanipulasi bit-bit nilai data yang ada di memori. Operator-operator ini
hanya dapat digunakan untuk tipe data char, int, dan long int.
Operator Fungsi Jenjang
<<>> Pergeseran bit ke kanan 5
& Bitwise AND 8
^ Bitwise XOR (Exclusive OR) 9
Bitwise OR 10
~ Bitwise NOT 1
Operator Pengerjaan Bitwise
Operator Contoh Ekuivalen dengan
<<= A <<= 2 A = A <<>>= A >>= 2 A = A >> 2
&= A &= 0x1b A = A & 0x1b
^= A ^= 0x1b A = A ^ 0x1b
= A = 0x1b A = A 0x1b
MEMASUKAN DATA
Fungsi-fungsi yang digunakan
Fungsi-fungsi pustaka yang digunakan untuk memasukkan data melalui keyboard, prototypenya ada di
file judul stdio.h dan conio.h . Fungsi-fungsi yang menggunakan file judul stdio.h yaitu gets() dan scanf().
Sedangkan fungsi yang menggunakan file judul conio.h, yaitu getche(), getchar(), dan getch().
Untuk memasukkan nilai karakter tidak terformat digunakan getchar() getch(),dan getche(), tergantung
dari karakteristik masing-masing.
getchar() Sintak: : int getchar(void):
Fungsi:
– mengembalikan sebuah karakter (nilai ASCII) berikutnya dari buffer keyboard.
– Karakter ditampilkan di layar monitor
– Menunggu sampai ada ENTER
– Header file ada di stdio.h
getch() Sintak: int getch(void):
Fungsi
– mengembalikan satu karakter dari buffer keyboard
– karakter tidak ditampilkan di layar monitor (no echo)
– Tidak menunggu sampai ada ENTER
– Cocok untuk membuat password
– Header file ada di conio.h
getche() Sintak : int getche(void)
Fungsi :
– mengembalikan satu karakter dari keyboard
– Karakter ditampilkan di layar (echo)
– Tidak menunggu sampai ada ENTER
– Header file ada di conio.h
gets() Sintak : char *gets(char *buffer)
Fungsi:
– membaca string dari keyboard sampai ketemu new-line dan disimpan pada buffer.
– Kemudian new-line di replace dengan null character
– Mengembalikan nilai NULL jika ada error dan mengembalikan argument-nya (buffer) jika
sukses.
Untuk meg-input nilai data terformat digunakan perintah scanf(), Spesifikai format adalah : ”% type” dimana
type bisa diganti dengan salah satu dari sbb:
Kode Format Fungsi
%c Membaca sebuah karakter
%s Membaca nilai string
%d Membaca nilai desimal integer
%i Membaca nilai desimal integer
%x Membaca nilai heksa desimal integer
%o Membaca nilai oktal integer
%f Membaca nilai pecahan
%e Membaca nilai pecahan
%g Membaca nilai pecahan
%h Membaca nilai short integer desimal
[…] Membaca karakter string yg diakhiri dengan karakter yg tidak ada didalam [...]
[^..] Membaca karakter string yg diakhiri dengan karakter yg ada didalam [..]
Fungsi scanf mengembalikan tipe integer, dimana nilai nya menyatakan jumlah field yang sukses di assigned.
Contoh:
int x,y,z,w;
x=scanf("%d %d %d",&y,&z,&w);
maka :
• Jika di input dari keyboard 3 buah nilai interger 6 7 8, maka nilai x = 3;
• Jika di input dari keyboard 4 buah nilai interger 6 7 8 9 maka nilai x = 3 (karena 3 nilai yg sukses diassigned
masing-masing ke variabel y, z dan w)
Karakter Space, tab, linefeed, carriage-return, formfeed, vertical-tab, dan newline disebut ”white-space
characters” . Contoh :
char ss[40];
scanf(”%s”,ss);
Pada potongan program diatas, jika dimasukkan string ”Selamat Pagi Pak” dari keyboard maka yg dimasukkan
ke variabel ss hanya “Selamat” saja.
Untuk mengambil string yang diakhiri karakter tertentu (misalnya ENTER), dengan scanf, menggunakan format
[^\n]. Menjadi :
char ss[40];
scanf(”%[^\n]”,ss);
MENAMPILKAN HASIL
Fungsi-fungsi umum yang digunakan
Prototype dari fungsi-fungsi untuk menampilkan hasil terdapat pada file judul stdio.h bersifat standar
yaitu putchar(), puts(), printf(), fprintf() dan conio.h bersifat tidak standar, dalam arti tidak semua kompiler C
menyediakan yaitu clrscr(), gotoxy().
Untuk menampilkan hasil tidak terformat digunakan putchar() untuk menampilkan karakter tidak
terformat dan puts() untuk menampilkan string tidak terformat. Maksudnya tidak terformat adalah lebar dan
bentuk tampilannya tidak dapat diatur.
Sedangkan untuk hasil terformat digunakan perintah printf dengan spesifikai format sbb: %[flags][width]
[.precision] type;
Kode Format Fungsi
%c Menampilkan sebuah karakter
%s Menampilkan nilai string
%d Menampilkan nilai desimal integer
%i Menampilkan nilai desimal integer
%u Menampilkan nilai desimal integer tidak bertanda
%x Menampilkan nilai heksa desimal integer
%o Menampilkan nilai oktal integer
%f Menampilkan nilai pecahan
%e Menampilkan nilai pecahan dalam notasi scientific
%g Sebagai pengganti ‘%f’ atau ‘%e’ tergantung mana yang terpendek
%p Menampilkan suatu alamat memori untuk pointer
width : menentukan jumlah kolom yang disediakan
precision : menentukan jumlah angka dibelakang koma (untuk bilangan pecahan)
flags dapat diganti sbb:
none : right justify (rata kanan)
- : left justify (rata kiri)
+ : untuk bilangan dimulai dgn
tanda – jika negatip atau +
jika positip
CONTOH 1:
printf(“%6d”, 34); ….34
printf(”%-6d”, 34); 34….
CONTOH 2 :
printf(“%10s”, “GUNDAR”); …GUNDAR
printf(“%-10s”, “GUNDAR”); GUNDAR . . .
printf(“%8.2f”, 3.14159 ); ....3.14
printf(“%-8.3f”, 3.14159 ); 3.141...
printf("%c\n",65); //akan ditampilkan A
printf("%x\n",'A'); // akan ditampilkan 41
printf("%o\n",65); // akan ditampilkan 101
printf("%+d\n",34); // akan ditampilkan +34
printf("%+d\n",-45); // akan ditampilkan -45
printf("%e\n",3.14); // akan ditampilkan 3.140000e+000
CONTOH 3:
#include 

int main(){
char ss[]="Selamat Datang";
printf("123456789012345678901234567890\n");
printf("%.10s di Gundar\n",ss);
printf("%10s di Gundar\n",ss);
printf("%-10s di Gundar\n",ss);
printf("%.20s di Gundar\n",ss);
printf("%20s di Gundar\n",ss);
printf("%-20s di Gundar\n",ss);
printf("%20.10s di Gundar\n",ss);
printf("%-20.10s di Gundar\n",ss);
return 0;
}
Output Program disamping sbb:
123456789012345678901234567890
Selamat Da di Gundar
Selamat Datang di Gundar
Selamat Datang di Gundar
Selamat Datang di Gundar
Selamat Datang di Gundar
Selamat Datang di Gundar
Selamat Da di Gundar
Selamat Da di Gundar
putchar( ) Sintak: int putchar(int c)
Fungsi :
– Menampilkan karakter ke layar monitor pada cursor, kemudian setelah ditampilkan cursor bergerak
ke posisi berikutnya.
– Mengembalikan EOF jika error, dan mengembalikan karakter yang ditampilkan jika sukses
– Putchar adalah macro yang sama artinya dengan: putc(c, stdout )
– Header File : stdio.h
putch( ) Sintak : int putch(int ch)
Fungsi :
– menampilkan karakter ascii di ch di monitor tanpa memindahkan kursor ke posisi berikutnya
– Header file : conio.h
– Mengembalikan EOF jika error, dan mengembalikan karakter yang di tampilkan jika sukses.
puts( ) Sintak : int puts(const char *str);
Fungsi:
– Menampilkan string str ke layar monitor dan memindahkan kursor ke baris baru.
– Header file: stdio.h
– Mengembalikan nilai non-negative jika sukses dan EOF jika ada error.
CONTOH :
puts(”Selamat Datang”);
puts(”Di GUNDAR”);
Tampilan di layar monitor:
Selamat Datang
Di GUNDAR

Penempatan kursor
– Layar dapat dihapus dengan menggunakan fungsi: clrscr();
– Kursor dapat dipindahkan ke posisi manapun di dalam layar monitor dengan menggunakan fungsi :
gotoxy(col,row); dimana col = kolom dan row = baris
– Sebagian dari baris, mulai posisi kursor hingga akhir baris (end of line), dapat dihapus dengan fungsi:
clreol();
– Function prototype untuk fungsi gotoxy(), clrscr(), clreol() pada bahasa C terdapat pada header file .