CARA MERAKIT KOMPUTER DAN GAMBARNYA LENGKAP

Berikut ini akan dibahas mengenai bagaimana cara merakit komputer, terutama bagi mereka yang baru belajar. Dari beberepa referensi yang saya pelajari [Read More...]

SIMULASI INSTALLASI DEBIAN MENGGUNAKAN VIRTUALBOX

Berikut ini merupakan simulasi cara installasi debian menggunakan virtualbox, antara lain [Read More...]

KECANGGIHAN KONSEP KOMPUTER PENA MASA DEPAN

Anda ingin tahu lebih lengkap tentang konsep komputer masa depan ini?? Temukan jawaban dari penasaran anda mengenai Kecanggihan Konsep Komputer Masa Depan [Read More...]

DOORBOT: BEL PINTU DENGAN KAMERA YANG PUNYA KONEKSI WI-FI

Punya bel pintu dan ketika ada yang ngebel, anda berlari cepat dari kamar mandi dan tahu-tahunya cuma tukang jualan bakso atau parahnya lagi penagih hutang. Kesal kan? [Read More...]

8 RESEP MENGOPTIMALKAN WEBSITE ANDA

Punya website atau webblog? Anda berniat membangun website baru? Tapi tidak memiliki sumber daya yang cukup untuk membayar seorang desainer web handal atau konsultan? [Read More...]

Contoh Program Double Linked List

#include <iostream.h>
#include <conio.h>

struct node
{
node *pre;
char no_pel[20];
char name[20];
int gol;
int biaya_pasang;
int biaya_admin;
node *nxt;
};

node *head = NULL;
node *tail = NULL;

node *current,*previous;
int option = 0;

void add_node_at_end()
{ node *temp; // Temporary pointers

// Reserve space for new node and fill it with data
temp = new node;

temp->pre = NULL;
cout << "No Pelanggan : "; cin >> temp->no_pel;
cout << "Nama : "; cin >> temp->name;
cout << "Gol : "; cin >> temp->gol;
cout << "Biaya Pasang : "; cin >> temp->biaya_pasang;
cout << "Biaya Admin : "; cin >> temp->biaya_admin;
temp->nxt = NULL;

// Set up link to this node
if (head == NULL)
{
head = temp;
tail = temp;
current = head;
}
else
{
tail->nxt = temp;
temp->pre = tail;
tail = temp;
}
}

void display_list01()
{
node *temp, *temp1;
temp = head;
int total,i;
if (temp == NULL)
cout << endl << "The list is empty!" << endl;
else
{
//cetak judul
clrscr();
cout << "==================================================================" << endl;
cout << " No No Pel Nama Gol Biaya Pasang Biaya Admin Total " << endl;
cout << "==================================================================" << endl;
i=0;
do
{
i++;
// Display details for what temp points to
cout << i <<"\t";
cout << temp->no_pel << "\t";
cout << temp->name << "\t";
cout << temp->gol<< "\t";
cout << temp->biaya_pasang<< "\t";
cout << temp->biaya_admin<< "\t";
total=temp->biaya_pasang + temp->biaya_admin;
cout <<total<< "\t";
if (temp == current)
cout << " <-- Cur Node";
cout << endl;

temp1 = temp;
temp = temp->nxt;

} while (temp1 != tail);
cout << "==================================================================" << endl;
cout << "End of list!" << endl;
}
}

void display_list02()
{
node *temp, *temp1;
temp = tail;
int total,i;
if (temp == NULL)
cout << endl << "The list is empty!" << endl;
else
{
//cetak judul
clrscr();
cout << "==================================================================" << endl;
cout << " No No Pel Nama Gol Biaya Pasang Biaya Admin Total " << endl;
cout << "==================================================================" << endl;
i=0;
do
{
i++;
// Display details for what temp points to
cout << i <<"\t";
cout << temp->no_pel << "\t";
cout << temp->name << "\t";
cout << temp->gol<< "\t";
cout << temp->biaya_pasang<< "\t";
cout << temp->biaya_admin<< "\t";
total=temp->biaya_pasang + temp->biaya_admin;
cout <<total<< "\t";
if (temp == current)
cout << " <-- Cur Node";
cout << endl;

temp1 = temp;
temp = temp->pre;

} while (temp1 != head);
cout << "==================================================================" << endl;
cout << "End of list!" << endl;
}
}

void move_current_on ()
{
if(head==NULL)
{
// cout<<"Empty Linked list.."<<endl;
}
else
{
if (current->nxt == NULL)
{
cout << "You are at the end of the list." << endl;
}
else
{
current = current->nxt;
}
}
display_list01;
}

void move_current_back ()
{
if (current == head)
{
cout << "You are at the start of the list" << endl;
}
else
{
node *previous; // Declare the pointer
previous = head;
while (previous->nxt != current)
{
previous = previous->nxt;
}
current = previous;
}
}

void hapus_current()
{
node *temp, *temp_pre, *temp_nxt;
if(head==NULL)
{
cout<<"Masih Kosong Bro.."<<endl;
}
else
{
temp=current;
if(temp->pre!=NULL && temp->nxt!=NULL)
{
temp_pre=temp->pre;
temp_nxt=temp->nxt;
temp_pre->nxt=temp_nxt;
temp_nxt->pre=temp_pre;
current=temp_nxt;
}
else if(temp->pre!=NULL && temp->nxt==NULL)
{
current=head;
tail=temp->pre;
}
else if(temp->pre==NULL && temp->nxt==NULL)
{
current=temp->nxt;
}
else
{
current==NULL;
head=NULL;
tail=NULL;
}
delete temp;
}
}

//program utama..........................................
void main()
{ head= NULL;
do
{
cout << endl;
cout << "Please select an option : " << endl;
cout << "0. Exit the program." << endl;
cout << "1. Tambah di belakang." << endl;
cout << "2. Tampilkan dari depan." << endl;
cout << "3. Tampilkan dari belakang" << endl;
cout << "4. Current Cursor Up" << endl;
cout << "5. Current Cursor Down" << endl;
cout << "6. Hapus Current" << endl;
cout << endl << "Pilihan Anda ? ";cin >> option;

switch (option)
{
case 1 : add_node_at_end(); break;
case 2 : display_list01(); break;
case 3 : display_list02(); break;
case 4 : move_current_back();break;
case 5 : move_current_on(); break;
case 6 : hapus_current(); break;

}
} while (option != 0);
}

Mengenal Bahasa C++

Lisensi Dokumen :
Copyright © 2010 http://scienceofit.blogspot.com
Seluruh dokumen di http://scienceofit.blogspot.com dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari http://scienceofit.blogspot.com

       
1. Sekilas Perkembangan Bahasa C
   Bahasa C merupakan hasil pengembangan dari Bahasa B yang ditulis oleh Ken Thomson pada tahun 1970. Bahasa C untuk pertama kalinya ditulis oleh Brian W. Kerninghan dan Denies M. Ricthis pada tahun 1972. Bahasa C pada awalnya dioperasikan di atas sistem operasi UNIX. Bahasa C merupakan bahasa pemrograman tingkat menengah, yang berada diantara bahasa tingkat rendah dan tingkat tinggi yang biasa disebut dengan Bahasa Assambly. Bahasa C mempunyai banyak kemampuan, diantaranya untuk membuat perangkatb lunak, misalnya dBase, Word Star dan lain-lain. Pada tahun 1980 sworang ahli yang bernama Bjarne Stroustrup mengembangkan beberapa hal dari Bahasa C yang kemudian dinamakan C with Classes yang pada tahun 1983 berganti nama menjadi C++.
   Pada C++ ini terdapat tambahan Objest Oriented Programming (OOP), yang tujuan utamanya adalah membantu dalam membuat dan mengelola program yang besar dan kompleks. Kebanyakan pakar setuju bahwa OOP dan C++ mampu mengurangi kompleksitas terutama program yang terdiri dari 10.000 baris lebih, bahkan dapat meningkatkan produktivitas 2x lipat dari C, Pascal dan Basic.

Objectives
- Menjelaskan tentang beberapa tipe data dasar.
- Menjelaskan tentang variabel.
- Menjelaskan tentang konstanta.
- Menjelaskan tentang berbagai jenis operator dan pemakainya
- Menjelaskan tentang instruksi I/O

Tipe Data Dasar
Data bisa dinyatakan dalam bentuk konstanta atau variabel.
Konstanta : nilainya tetap
Variabel : nilainya dapat diubah-ubah selama eksekusi.
Berdasarkan jenisnya data dapat dibagi menjadi lima kelompok dinamakan tipe data dasar, yaitu :
- Bilangan bulat (integer)
- Bilangan real presisi tunggal (float)
- Bilangan real presisi ganda (double)
- Karakter (char)
- Tak bertipe (void)


Tipe data
Jumlah bit
Range nilai
Keterangan
char
8
-128 s/d 127
Karakter
int (signed int)
16
-32768 s/d 32767
Bilangan bulat (integer)
short int
16
-32768 s/d 32767
Bilangan bulat
unsigned int
16
0 s/d 65535
Bilangan bulat tak bertanda
long int
32
-2147483648 s/d 2147483647
Bilangan bulat
float
32
1.7E-38 s/d 3.4E+38
Bilangan real (single)
double
64
2.2E-308 s/d
Bilangan real (double)
void
0
-
Tak bertipe

Variabel
Aturan Penulisan :
- Nama harus diawali dengan huruf (A..Z, a..z), angka atau karakter diberi garis bawah ( _ ).
- Selanjutnya dapat berupa huruf, digit (0..9) atau karakter garis bawah atau tanda dollar ($).
- Panjang nama variabel boleh dari 31 karakter hanya 31 karakter pertama yang akan dianggap.
- Nama variabel tidak boleh menggunakan nama yang tergolong sebagai kata-kata cadangan (reserved words), seperti printf, int, if, while dan sebagainya.
Deklarasi Variabel
   Variabel yang akan digunakan dalam program haruslah dideklarasikan terlebih dahulu. Pengertian deklarasi disini berarti memesan memori dan menentukan jenis data yang bisa disimpan didalamnya.
Bentuk umum deklarasi variable :
tipe data daftar nama variabel ;
Contoh :
int var bulat1;
float var pecahan1, var pecahan2;
Beri Nilai Variabel
Memberikan nilai ke variable :
nama variabel = nilai;
Contoh :
var bulat2 = 34;
var pecahan1 = 34.52;
Inisialisasi Variabel
int nilai;
nilai = 10;
sama dengan :
int nilai = 10;
Contoh program :
#include  <stdio.h>
#include  <conio.h>
main()
{


   int jumlah;
   float harga_unit, harga_total;
   jumlah=10;
   harga_unit=17.5;
   harga_total=jumlah*harga_unit;
   printf(“Harga Total = %f\n”, harga_total);

   getch();

}
Konstanta
- Konstanta menyatakan nilai tetap
- Tidak perlu dideklarasikan
- Juga mempunyai tipe data
Aturan penulisan :
- Konstanta karakter diawali dan diakhiri dengan tanda petik tunggal, contoh : ‘A’ dan ‘@’.
- Konstanta ditulis dengan angkat (tanpa tanda petik) tanpa mengandung pemisah ribuan dan tak mengandung bagian pecahan. Contoh : -1 dan 32767.
- Konstanta real (float dan double) bisa mengandung pecahan (dengan tanda berupa titik) dan nilainya bisa ditulis dalam bentuk eksponensial (menggunakan tanda e), Contohnya :27.5f (untuk tipe float) atau 27.5 (untuk tipe double) dan 2.1e+5 (maksudnya 2.1 x 105).
- Konstanta string merupakan deretan karakter yang diawali dan diakhiri dengan tanda petik ganda (“).
Contoh : “Program Dasar”. 
Konstanta Continued

Aturan penulisan konstanta :
- Menggunakan keyword #define
#define <nama konstanta> <nilai>
- Atau menggunakan keyword const
const <tipe_konstanta> <nama_konstanta>  = <nilai>;
Contoh :
#define PI 3.14159
atau
const float PI = 3.14159;
Contoh program dasar :
#include  <stdio.h>
#include  <conio.h>
#define PI 3.14159
 
main()
{ 
   float r=4;
   float luas;
   luas=Pi*r*r;
   printf("Luasnya adalah %f ", luas);


   getch();
}


Operator
   Simbol atau karakter digunakan untuk sesuatu operasi atau manipulasi.
Misal : menjumlahkan, mengurangi, membandingkan, memberikan nilai, dll.
Jenis operator :
- Operator Aritmatika
- Operator Increment dan Dicrement
- Operator Penugasan
- Operator Kombinasi

Operator Aritmatika
Terdiri dari dua jenis :
Operator binary

















Operator unary 

Tanda ‘-’ (minus)
Tanda ‘+’ (plus)

Contoh program menggunakan operator aritmatika :
#include  <stdio.h>
#include  <conio.h>

main()
{
   int a,b,c;
   float d;
   a=3*5;
   b=10%3;
   c=10/3;
   d=10.0/3.0;
   printf(“Nilai dari a = %d\n”, a);
   printf(“Nilai dari b = %d\n”, b);
   printf(“Nilai dari c = %d\n”, c);
   printf(“Nilai dari a = %f\n”, d);

   getch();
}

Operator Increment dan Decrement
Operator increment :
‘++’
Operator decrement :
‘--’

Operasi
Arti
x++/++x
x=x+1
y--/--y
y=y-1

Contoh program menggunakan operator increment :
#include <stdio.h>
#include <conio.h>

main()
{
   int count, loop;                          loop = 1, count = 1
                                                           loop = 1, count = 2
   count=0;
   loop=++count;   /*count=count+1;
   loop=count; */
   printf(“loop = %d, count = %d\n”, loop, count);
   loop=count++;   /*loop=count;
   count=count+1;   */
   printf(“loop = %d, count = %d\n”, loop, count);

   getch();
}

Prioritas Operator Aritmatika










Bentuk unary + dan unary – memiliki prioritas yang lebih tinggi dari pada bentuk binary + dan binary –

Operator Penugasan (assignment)
   Digunakan untuk memindahkan nilai dari suatu ungkapan (expression) ke suatu pengenal.
Operator pengerjaan yang umum digunakan dalam bahasa pemrograman, termasuk bahasa C adalah operator sama dengan (=).
Pengenal1 = pengenal2 =…= ungkapan;
Contoh : a=(b=1)+5;


Operator Kombinasi
Digunakan untuk memendekkan operasi penugasan.
Contoh :
x = x + 2;
y = y * 4;
Dapat dipendekkan menjadi :
x + = 2;
y * = 4;

Operator Kombinasi
 













Fungsi printf()
Digunakan untuk menampilkan data kelayar.
Bentuk umum pernyataan printf() :
printf(“string kontrol”, argument1, argument2, …);
Format data string dan karakter :
%c untuk menampilkan sebuah karakter
%s untuk menampilkan sebuah string
  
Format Untuk Bilangan














Contoh program menggunakan fungsi printf :
#include <stdio.h>
#include <conio.h>

main()
{
   float x=251000.0f;
   printf(“Format e => %e\n”, x);
   printf(“Format f => %f\n”, x);
   printf(“Format g => %g\n”, x);

   getch();
}


Format e =>  2.510000e+05
Format f => 251000.000000
 Format g => 251000

Untuk menentukan panjang medan dari tampilan data sesudah tanda % dalam penentu format dapat disisipi dengan bilangan bulat yang menyatakan panjang medan.
Contoh :
printf(“Abad %4d”, 20);

Hasilnya :










Untuk data yang berupa bilangan real, spesifikasi medannya berupa :
 m . n   =>   m = panjang medan
                     n = panjang digit pecahan

Contoh :
printf(“Harga : Rp %8.2f\n”, 500.0);








Untuk data string :
printf(“%12s”, “Bahasa C”);

 Rata Kanan

Rata Kiri





printf(“%-12s”, “Bahasa C”);
Fungsi puts() : menampilkan string
puts(“Selamat Mencoba”);
sama dengan
printf(“Selamat Mencoba\n”)

Fungsi putchar() : menampilkan karakter.
putchar(‘F’);a
sama dengan
printf(“%c”, ‘F’);
Fungsi scanf()
- Digunakan untuk menerima data dari keyboard.
- Bentuk scanf() menyerupai fungsi printf().
- Fungsi ini melibatkan penentu format yang pada dasarnya digunakan pada fungsi printf().
Bentuk umum fungsi scanf() adalah :
scanf(“String Kontrol”, daftar argumen);
daftar_argumen dapat berupa satu atau beberapa dan haruslah berupa alamat.
Misalnya hendak membaca bilangan real dan di tempatkan ke variabel radius, maka yang ditulis dalam scanf() adalah alamat dari radius.
Untuk menyatakan alamat dari variabel, didepan variabel dapat ditambahkan tanda ‘&’ (tanda &dinamakan sebagai operator alamat).
Contoh :
scanf(“%f”, &radius);
scanf(“%d %d”, &data1, &data2);
Penentu Format scanf() 













Fungsi getchar() : membaca karakter dan ditampilkan.
Contoh : kar = getchar();
              scanf(“%c”, &kar);
Contoh program menggunakan fungsi scanf :
/*Filename : Program bujur sangkar.c */
/*Deskripsi : Menghitung luas dan keliling bujursangkar */
#include <stdio.h>
#include <conio.h>
main()
{
   int luas, keliling, panjang sisi;
   printf(“Masukkan panjang sisi bujursangkar : ”);
   scanf(“%d”, &panjang sisi);
   luas=panjang sisi*panjang sisi;
   keliling=panjang sisi*4;
   printf(“\nData bujursangkar\n”);
   printf(“Panjang sisi = %6d\n”, panjang sisi);
   printf(“Luas = %6d\n”, luas);
   printf(“Keliling = %6d\n”, keliling);

   getch();
}

2. Mengenal IDE Borland C++
   IDE merupakan singkatan dari Integreted Development Environment, merupakan lembar kerja terpadu untuk pengembangan program.

IDE dari Borland C++ dapat digunakan untuk :
  • Menulis naskah program
  • Mengompilasi program (compile)
  • Melakukan pengujian terhadap program (debugging)
  • Mengaitkan objek dan library ke program (linking)
  • Menjalankan program (running)
Tampilan Utama Borland C++
 













(Posted from Bahasa C)