This is default featured slide 1 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured slide 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured slide 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured slide 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured slide 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

Selasa, 17 April 2012

computer network

computer network, often simply referred to as a network, is a collection of hardware components and computers interconnected by communication channels that allow sharing of resources and information. Where at least one process in one device is able to send/receive data to/from at least one process residing in a remote device, then the two devices are said to be in a network.
Networks may be classified according to a wide variety of characteristics such as the medium used to transport the data, communication protokol used, scale, topology, and organizational scope.
Communications protocols define the rules and data formats for exchanging information in a computer network, and provide the basis for network progrming Well-known communications protocols are ethernet a hardware and link layer standard that is ubiquitous in local area networks and the internet protocol suite, which defines a set of protocols for internetworking, i.e. for data communication between multiple networks, as well as host-to-host data transfer, and application-specific data transmission formats.
Computer networking is sometimes considered a sub-discipline of electrical engineering, telecommunications, computer science, information technology or computer engineering, since it relies upon the theoretical and practical application of these disciplines.

Protokol


Protokol adalah aturan-aturan main yang mengatur komunikasi diantara beberapa komputer di dalam sebuah jaringan, aturan itu termasuk di dalamnya petunjuk yang berlaku bagi cara-cara atau metode mengakses sebuah jaringan, topologi fisik, tipe-tipe kabel dan kecepatan transfer data.

Protokol-Protokol yang dikenal adalah sebagai berikut :

1. Ethernet

Protocol Ethernet sejauh ini adalah yang paling banyak digunakan, Ethernet menggunakan metode akses yang disebut CSMA/CD (Carrier Sense Multiple Access/Collision Detection). Sistem ini menjelaskan bahwa setiap komputer memperhatikan ke dalam kabel dari network sebelum mengirimkan sesuatu ke dalamnya. Jika dalam jaringan tidak ada aktifitas atau bersih komputer akan mentransmisikan data, jika ada transmisi lain di dalam kabel, komputer akan menunggu dan akan mencoba kembali transmisi jika jaringan telah bersih. Kadangkala dua buah komputer melakukan transmisi pada saat yang sama, ketika hal ini terjadi, masing-masing komputer akan mundur dan akan menunggu kesempatan secara acak untuk mentransmisikan data kembali. metode ini dikenal dengan koalisi, dan tidak akan berpengaruh pada kecepatan transmisi dari network.

Protokol Ethernet dapat digunakan untuk pada model jaringan Garis lurus , Bintang, atau Pohon . Data dapat ditransmisikan melewati kabel twistedpair, koaksial, ataupun kabel fiber optic pada kecepatan 10 Mbps.

2. Local Talk

LocalTalk adalah sebuh protokol network yang di kembangkan oleh Apple Computer, Inc. untuk mesin-mesin komputer Macintosh . Metode yang digunakan oleh LocalTalk adalah CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance). Hampir sama dengan CSMA/CD.. Adapter LocalTalk dan cable twisted pair khusus dapat digunakan untuk menghubungkan beberapa computer melewati port serial. Sistem Operasi Macintosh memungkinkan koneksi secara jaringan peer-to-peer tanpa membutuhkan tambahan aplikasi khusus.

Protokol LocalTalk dapat digunakan untuk model jaringan Garis Lurus, Bintang , ataupun model Pohon dengan menggunakan kabel twisted pair. Kekurangan yang paling mencolok yaitu kecepatan transmisinya. Kecepatan transmisinya hanya 230 Kbps.

3. Token Ring

Protokol Token di kembangkan oleh IBM pada pertengahan tahun 1980. Metode Aksesnya melalui lewatnya sebuah token dalam sebuah lingkaran seperti Cincin. Dalam lingkaran token, komputer-komputer dihubungkan satu denganyang lainnya seperti sebuah cincin. Sebuah Sinyal token bergerak berputar dalam sebuah lingkaran (cincin) dalam sebuah jaringan dan bergerak dari sebuah komputer-menuju ke komputer berikutnya, jika pada persinggahan di salah satu komputer ternyata ada data yang ingin ditransmisikan, token akan mengangkutnya ke tempat dimana data itu ingin ditujukan, token bergerak terus untuk saling mengkoneksikan diantara masing-masing komputer.

token ring

4. FDDI

Fiber Distributed Data Interface (FDDI) adalah sebuah Protokol jaringan yang menghubungkan antara dua atau lebih jaringan bahkan pada jarak yang jauh. Metode aksesnyayang digunakan oleh FDDI adalah model token . FDDI menggunakan dua buah topologi ring secara fisik. Proses transmisi baiasanya menggunakan satu buah ring, namun jika ada masalah ditemukan akan secara otomatis menggunakan ring yang kedua. Sebuah keuntungan dari FDDI adalah kecepatan dengan menggunakan fiber optic cable pada kecepatan 100 Mbps.

fddi

5. ATM

ATM adalah singkatan dari Asynchronous Transfer Mode (ATM) yaitu sebuah protokol jaringan yang mentransmisikan pada kecepatan 155 Mbps atau lebih . ATM mentarnsmisikan data kedalam satu paket dimana pada protokol yang lain mentransfer pada besar-kecilnya paket. ATM mendukung variasi media seperti video, CD-audio, dan gambar. ATM bekerja pada model topologi Bintang, dengan menggunakan Kabel fiber optic ataupun kabel twisted pair . ATM pada umumnya digunakan untuk menghubungkan dua atau lebih LAN . dia juga banyak dipakai oleh Internet Service Providers (ISP) untuk meningkatkan kecepatan akses Internet untuk klien mereka.

perbandingan protokol

Minggu, 15 April 2012

Pengertian Array, Rekursif, dan Iteratif


Suatu array adalah sebuah struktur data yang terdiri atas banyak variabel dengan tipe data sama, dimana masing-masing elemen variabel mempunyai nilai indeks. Setiap elemen array mampu untuk menyimpan satu jenis data (yaitu: variabel).
Sifat Array
Array merupakan struktur data yang statis, yaitu jumlah elemen yang ada harus ditentukan terlebih dahulu dan tak bisa di ubah saat program berjalan.


STRUKTUR ARRAY
Array Satu Dimensi
Pendefinisian array secara umum adalah sebagai berikut: jika kita ingin membuat beberapa array dengan tipe/jenis yang sama, kita lebih baik jika mendeklarasikan dengan type selanjutnya dengan deklarasi var.


Array dua dimensi
Merupakan sebuah variabel yang menyimpan sekumpulan data yang memiliki tipe sama dan elemen yang akan diakses melalui 2 indeks atau subskrip yaitu indeks baris dan indeks kolom.


Array Multidimensi
Dalam array multidimensi terdiri atas baris (row) dan kolom (column). Index pertama adalah baris dan yang kedua adalah kolom.



PENGERTIAN ITERATIF
 Perulangan iteratif merupakan perulangan yang melakukan proses perulangan terhadap sekelompok instruksi di mana perulangan tersebut akan berhenti jika batasan syarat sudah tidak terpenuhi.

Kelebihan Perulangan Iteratif:
• Mudah dipahami dan mudah melakukan debugging ketika ada perulangan yang salah.
• Dapat melakukan nested loop atau yang disebut dengan looping bersarang.
• Proses lebih singkat karena perulangan terjadi pada kondisi yang telah disesuaikan.
• Jarang terjadi overflow karena batasan dan syarat perulangan yang jelas.
Kelemahan Perulangan Iteratif:
• Tidak dapat menggunakan batasan berupa fungsi.
• Perulangan dengan batasan yang luas akan menyulitkan dalam pembuatan program perulangan itu sendiri.

PENGERTIAN REKURSIF

Rekursif berarti bahwa suatu proses bisa memanggil dirinya sendiri. Menurut definisi dalam Microsoft Bookshelf, Rekursif adalah kemampuan suatu rutin untuk memanggil dirinya sendiri. Dalam Rekursif sebenarnya terkandung pengertian prosedur dan fungsi. Perbedaannya adalah bahwa rekursif bisa memanggil ke dirinya sendiri, tetapi prosedur dan fungsi harus dipanggil lewat pemanggil prosedur dan fungsi. Rekursif merupakan teknik pemrograman yang penting dan beberapa bahasa pemrograman mendukung keberadaan proses rekursif ini. Dalam prosedur dan fungsi, pemanggilan ke dirinya sendiri bisa berarti proses berulang yang tidak bisa diketahui kapan akan berakhir.

Kelebihan Perulangan Rekursif:
• Sangat mudah untuk melakukan perulangan dengan batasan yang luas dalam artian melakukan perulangan dalam skala yang besar.
• Dapat melakukan perulangan dengan batasan fungsi.
Kekurangan Perulangan Rekursif:
• Tidak bisa melakukan nested loop atau looping bersarang.
• Biasanya membuat fungsi sulit untuk dipahami, hanya cocok untuk persoalan tertentu saja.
• Trace error sulit.
• Memerlukan stack yang lebih besar, sebab setiap kali fungsi dipanggil, variabel lokal dan parameter formal akan ditempatkan ke stack dan ada kalanya akan menyebabkan stack tak cukup lagi (Stack Overrun).
• Proses agak berbelit-belit karena terdapat pemangilan fungsi yang berulang-ulang dan pemanggilan data yang ditumpuk.

 

Pengertian Iteratif


Mengaju pada posting saya sebelumnya tentang “Apa itu Rekursif ?”, sekarang saya lanjutkan kepada pengertian dari  Iteratif.
seperti yang saya bilang sebelumny,”saya harap jangan COPAST (Copy Paste ) saja” harap pelajari dan pahami ok!. Untuk lebih singkatnya baca saja penjelasan saya di bawah ini :
1.Pengertian iteratif
Perulangan iteratif merupakan perulangan yang melakukan proses perulangan terhadap sekelompok instruksi di mana perulangan tersebut akan berhenti jika batasan syarat sudah tidak terpenuhi.
Kelebihan perulangan iteratif:
• Mudah dipahami dan mudah melakukan debugging ketika ada perulangan yang salah.
• Dapat melakukan nested loop atau yang disebut dengan looping bersarang.
• Proses lebih singkat karena perulangan terjadi pada kondisi yang telah disesuaikan.
• Jarang terjadi overflow karena batasan dan syarat perulangan yang jelas.
Kelemahan perulangan iteratif:
• Tidak dapat menggunakan batasan berupa fungsi.
• Perulangan dengan batasan yang luas akan menyulitkan dalam pembuatan program perulangan  itu sendiri.
2. Program 1
Bentuk fungsi iteratif :
#include <cstdlib>
#include <iostream>
using namespace std;
int jumlah(int n) {
int hasil = 0;
for (int i=0; i<n; i=i+2)
hasil = hasil + i;
return hasil;
}
void cetak(int n) {
for (int i=0; i<n; i=i+2)
cout << i << ” “;
}
int main(int argc, char *argv[])
{
int n = 10;
cout << jumlah(n);
cetak(n);
system(“PAUSE”);
return EXIT_SUCCESS;
SUB PROGRAM
(REKURSIF DAN ITERATIF)
PERBEDAAN REKURSIF DAN ITERATIF
Pada pertemuan lalu, telah disinggung sedikit mengenai pengertian dan contoh penggunaan fungsi rekursif. Fungsi Rekursif merupakan proses perulangan dengan cara memanggil dirinya sendiri. Sedangkan fungsi iteratif adalah proses perulangan dengan menggunakan fungsi for, while dan repeat-until (do-while). Berikut contoh penggunaan fungsi rekursif dan iteratif :
Menghitung nilai faktorial dari sebuah bilangann faktorial didefinisikan secara rekursif sebagai berikut
n! = 1 untuk n=0 dan n=1
= n*(n-1)! , n>2Algoritma
           Rekursif Iteratif
Fungsi faktorial(input n:integer):integer
Deskripsi
if (n=0) or (n=1) then
1ßfaktorial
else
n*faktorial(n-1)ßfaktorial Fungsi faktorial(input n:integer):integer
Deskripsi
if (n=0) or (n=1) then
1ßfaktorial
else
i:integer
begin
for i=1 to n do
hasil=hasil*i
end
hasilßfaktorialTranslasi program
REKURSIF ITERATIF

#include
int faktorial(int n){
if ((n==0) || (n==1)){
return 1;
}
else{
return (n*faktorial(n-1));
}
}main(){
int n;
cout<<”Masukan n! = “;cin>>n;
cout<<”hasilnya =”<<
return 0;
} #include
int faktorial(int n){
int hasil=1;
if ((n==0) || (n==1)){
return 1;
}else{
for(int i=1;i<=n;i++){
hasil=hasil*i;
}
return hasil;
}
}
main(){
int n;
cout<<”Masukan n! = “;cin>>n;
cout<<”hasilnya =”<<
return 0;
}
OutputDengan semakin lama Anda berlatih, anda akan mengetahui kapan menggunakan metode perulangan iteratif dan rekursif.
Beberapa kasus berikut diharapkan akan membuka wawasan Anda mengenai program Iteratif dan rekursif.Mencetak suatu kalimat dengan cara iteratif dan rekursif
REKURSIF ITERATIF
#include
#include
void balik(char *k){
if(*k!=”){
balik(&k[1]);
cout<
}
}main(){
char *kata=”Politeknik”;
balik(kata);
cout<
return 0;
} #include
#include
void balik(char *k){
int i;
for(i=strlen(k)-1;i>=0;i–){
cout<
}
}main(){
char *kata=”Politeknik”;
balik(kata);
cout<
return 0;
}
Output
3. Berikan persamaan dan perbedaan antara keduanya! Berikan juga masing –masing kelebihan dan kelemahan!
  • Persamaan antara rekursi dengan iteratif adalah keduanya sama – sama digunakan untuk mengulangi suatu kode atau kumpulan kode pada pembuatan program.
  • Kelebihan dan kelemahan masing-masing jenis perulangan tersebut adalah :
Metode Perulangan
Kelebihan
Kekurangan
Rekursi
  • Dapat mempermudah solusi karena kemampuan memanggil dirinya sendiri
  • Memungkinkan terjadinya overflow pada stack (stack tak lagi mampu menangani permintaan pemanggilan subrutin karena kehabisan memori)
  • Untuk menyelesaikan masalah butuh waktu dan jarak karena butuh fungsi panggilan tambahan
Iteratif
  • Waktu yang digunakan menyelesaikan masalah lebih singkat karena memory yang digunakan lebih sedikit.
  • Tidak dapat memanggil dirinya sendiri.
4. Dalam metode rekursif dikenal istilah base case dan recursive case… Apa artinya ? Dalam potongan program berikut, mana yang disebut base case, dan mana yang disebut recursive case ?
Apa output dari potongan program di atas jika diberikan input bilangan1 = 7 dan bilangan2 = 6? Kemudian ubahlah metode rekursi dari potongan program tersebut menjadi metode iterative!
  • Base case adalah Suatu keadaan pada fungsi rekursif dimana langkah penyelesaiannya sudah diketahui sehingga menghentikan proses rekursi tersebut.
  • Recursive Case adalah Suatu keadaan pada fungsi rekursif yang penyelesaiannya membutuhkan pemanggilan dirinya sendiri hingga keadaan dalam base casenya terpenuhi.
  • Pada potongan program :
Int perkalian(int bilangan1, int bilangan2)

{

if(bilangan2==1)return bilangan1;

else return bilangan1+perkalian(bilangan1,bilangan2-1);

}
Yang merupakan base case adalah :
if(bilangan2==1)return bilangan1;
Yang merupakan recursive case adalah :
else return bilangan1+perkalian(bilangan1,bilangan2-1);
  • Jika potongan program tersebut disusun secara utuh menjadi :
Algoritma Program :
  1. Program menampilkan statemen ”Menghitung perkalian dari 2 bilangan”.
  2. Program menampilkan instruksi kepada user untuk memasukkan input sebanyak 2 kali.
  3. Program memanggil fungsi perkalian.
  4. Fungsi perkalian menghitung hasil perkalian 2 input tersebut. Jika bilangan kedua sama dengan  1, fungsi perkalian akan mengembalikan nilai bilangan pertama ke fungsi main. Jika tidak fungsi perkalian akan melakukan rekursi dengan menjumlahkan bilangan pertama dengan hasil fungsi perkalian selanjutnya dimana bilangan kedua dikurangi 1 tiap kali rekursi.
  5. Fungsi perkalian mengembalikan nilai ke fungsi main.
  6. Program menampilkan output kepada user.
Source Code Program :
#include<stdio.h>

#include<conio.h>

int perkalian(int, int);

void main()

{

int bil1, bil2;

puts("Menghitung perkalian dari 2 bilangan");

printf("Masukkan bilangan pertama: ");

scanf("%d", &bil1);

printf("Masukkan bilangan kedua: ");

scanf("%d", &bil2);

printf("Hasil perkalian antara %d dengan %d adalah: %d\n", bil1, bil2, perkalian(bil1, bil2));

getch();

}

int perkalian(int bilangan1, int bilangan2)

{

if(bilangan2==1)return bilangan1;

else return bilangan1+perkalian(bilangan1,bilangan2-1);

}
  • Program perulangan dengan metode iteratif :
Algoritma Program :
  1. Program menampilkan statemen ”Menghitung perkalian dari 2 bilangan”.
  2. Program menampilkan instruksi kepada user untuk memasukkan input sebanyak 2 kali.
  3. Program memanggil fungsi perkalian.
  4. Fungsi perkalian menghitung hasil perkalian 2 input tersebut dengan menjumlahkan bilangan pertama dengan dirinya sendiri sebanyak bilangan kedua secara looping(iteratif).
  5. Fungsi perkalian mengembalikan nilai ke fungsi main.
  6. Program menampilkan output kepada user.
Source Code Program :
#include<stdio.h>

#include<conio.h>

int perkalian(int, int);

void main()

{

int bil1, bil2;

puts("Menghitung perkalian dari 2 bilangan");

printf("Masukkan bilangan pertama: ");

scanf("%d", &bil1);

printf("Masukkan bilangan kedua: ");

scanf("%d", &bil2);

printf("Hasil perkalian antara %d dengan %d adalah: %d\n", bil1, bil2, perkalian(bil1, bil2));

getch();

}

int perkalian(int bilangan1, int bilangan2)

{

int i, hasil=0;

for(i=1; i<=bilangan2; i++)

hasil+=bilangan1;

return hasil;

}

Rekursif Versus Iteratif


            Dalam beberapa situasi, pemecahan secara rekursif maupun secara iteratif mempunyai keuntungan dan kekurangan yang bisa saling diperbandingkan. Adalah cukup sulit untuk menentukan mana yang paling sederhana, paling jelas, paling efisien dan paling mudah disbanding yang lain. Boleh dikatakan pemilihan cara iterative maupun rekursif merupakan kesenangan seorang programmer dan tergantung konteks permasalahan yang akan dipecahkan sesuai dengan kesanggupan yang bersangkutan.
Persamaan antara perulangan iteratif dan rekursif:
• Iteratif dan rekursif merupakan metode atau teknik di dalam perulangan (looping).
• Sama-sama mengalami perulangan kondisi.

fungsi iteratif dan fungsi rekursif

pengertian dan implementasi Rekursi


Rekursi adalah konsep pengulangan yang penting dalam ilmu komputer. Konsep ini dapat digunakan untuk merumuskan solusi sederhana dalam sebuah permasalahan yang sulit untuk diselesaikan secara iteratif dengan menggunakan loop for, while do. Pada saat tertentu konsep ini dapat digunakan untuk mendefinisikan permasalahan dengan konsisten dan sederhana. Pada saat yang lain, rekursi dapat membantu untuk mengekspresikan algoritma dalam sebuah rumusan yang menjadikan tampilan algoritma tersebut mudah untuk dianalisa.

sedikit ilmu

statement peloncatan dimanfaatkan dalam sebuah perulangan. Dengan statement peloncatan ini kita bisa menghentikan sebuah perulangan, melompati statement tertentu dan juga melanjutkan sebuah perulangan. Ada tiga kata kunci yang digunakan dalam statement peloncatan, yaitu break, continue, goto.
BREAK
Statement break digunakan untuk menghentikan suatu looping/ perulangan. Misal dalam suatu program terdapat looping dengan fungsi for yang mengulang variabel nilai dari 1 samapi 10. Namun kita menginginkan ketika nilai mencapai angka 5 looping tersebut dihentikan, bingung ya?? langsung ke contoh program aja
#include <stdio.h>
void main()
{
int nilai=1;
for(nilai=1;nilai<10;nilai++)
{
printf(“%d”,nilai);
if(nilai==5)
{break;}
}
}
Dalam program di atas kita mengulang nilai dari 1 sampai 9. Jika tanpa statement break maka program akan mencetak nilai 1 sampai 9. Namun dalam program di atas kita menuliskan statement if dimana jika nilai=5 maka akan di eksekusi kata kunci break. Jadi ketika looping sampai pada angka 5 maka looping akan di hentikan oleh kata kunci break. Sehingga program hanya menampilkan nilai dari 1 samapi 5 saja.
CONTINUE
Berikutnya mari kita belajar tentang kata kunci continue. Kata kunci continue digunakan untuk melanjukan statement perulangan. Misal kita membuat sebuah program dengan pasword. Ketika pasword salah maka inputan pasword akan diulang. Namun ketika pasword benar maka akan ke tahap program selanjutnya. Mari kita ke contoh program sekarang biar tambah jelas. Kali ini kita akan menggunakan fungsi perulangan while.
#include <stdio.h>
void main()
{
int pasword=12345;
int pas;
int a=1;
while(a==1)
{
printf(“Masukkan pasword=”);
scanf*(“%d”,&pas);
if(pas==pasword)
{break;}
else
{continue;}
}
printf(“Log in succes”);
}
Dalam program di atas ketika pasword salah maka looping akan di lanjutkan dengan kata kunci continue. Namun ketika pasword benar maka looping akan dihentikan dan akan tercetak karakter “log in succes”
GOTO
Fungsi goto digunakan untuk meloncati suatu statement yang di inginkan. untuk menentukan baris yang akan langsung kita tuju maka kita harus membuat sebuah label dan di ikuti tanda : . Perhatikan contoh
#include <stdio.h>
void main()
{
printf(“number 1″);
goto xx;
printf(“number 2″);
xx:
printf(“number 3″);
}
Dalam program di atas pada awalan kita mencetak number 1. stelah itu sebenarnya ada statement untuk mencetak number 2. Namun setelah mencetak  number 1 terdapat kata kunci yang menunjuk ke label xx. Dan dalam label xx terdapat statement number 3. Jadi dalam program di atas statement mencetak karakter number 2 akan dilewati

statement peloncatan

statement peloncatan dimanfaatkan dalam sebuah perulangan. Dengan statement peloncatan ini kita bisa menghentikan sebuah perulangan, melompati statement tertentu dan juga melanjutkan sebuah perulangan. Ada tiga kata kunci yang digunakan dalam statement peloncatan, yaitu break, continue, goto.
BREAK
Statement break digunakan untuk menghentikan suatu looping/ perulangan. Misal dalam suatu program terdapat looping dengan fungsi for yang mengulang variabel nilai dari 1 samapi 10. Namun kita menginginkan ketika nilai mencapai angka 5 looping tersebut dihentikan, bingung ya?? langsung ke contoh program aja
#include <stdio.h>
void main()
{
int nilai=1;
for(nilai=1;nilai<10;nilai++)
{
printf(“%d”,nilai);
if(nilai==5)
{break;}
}
}
Dalam program di atas kita mengulang nilai dari 1 sampai 9. Jika tanpa statement break maka program akan mencetak nilai 1 sampai 9. Namun dalam program di atas kita menuliskan statement if dimana jika nilai=5 maka akan di eksekusi kata kunci break. Jadi ketika looping sampai pada angka 5 maka looping akan di hentikan oleh kata kunci break. Sehingga program hanya menampilkan nilai dari 1 samapi 5 saja.
CONTINUE
Berikutnya mari kita belajar tentang kata kunci continue. Kata kunci continue digunakan untuk melanjukan statement perulangan. Misal kita membuat sebuah program dengan pasword. Ketika pasword salah maka inputan pasword akan diulang. Namun ketika pasword benar maka akan ke tahap program selanjutnya. Mari kita ke contoh program sekarang biar tambah jelas. Kali ini kita akan menggunakan fungsi perulangan while.
#include <stdio.h>
void main()
{
int pasword=12345;
int pas;
int a=1;
while(a==1)
{
printf(“Masukkan pasword=”);
scanf*(“%d”,&pas);
if(pas==pasword)
{break;}
else
{continue;}
}
printf(“Log in succes”);
}
Dalam program di atas ketika pasword salah maka looping akan di lanjutkan dengan kata kunci continue. Namun ketika pasword benar maka looping akan dihentikan dan akan tercetak karakter “log in succes”
GOTO
Fungsi goto digunakan untuk meloncati suatu statement yang di inginkan. untuk menentukan baris yang akan langsung kita tuju maka kita harus membuat sebuah label dan di ikuti tanda : . Perhatikan contoh
#include <stdio.h>
void main()
{
printf(“number 1″);
goto xx;
printf(“number 2″);
xx:
printf(“number 3″);
}
Dalam program di atas pada awalan kita mencetak number 1. stelah itu sebenarnya ada statement untuk mencetak number 2. Namun setelah mencetak  number 1 terdapat kata kunci yang menunjuk ke label xx. Dan dalam label xx terdapat statement number 3. Jadi dalam program di atas statement mencetak karakter number 2 akan dilewati

Mengenal Fungsi dalam C++


Fungsi, atau dalam beberapa literatur ada yang mengistilahkan subrutin, subprogram maupun prosedur, adalah salah satu teknik pemrograman untuk meningkatkan modularitas program yang akan dibuat. Semakin besar tingkat modularitasnya, maka kecenderungannya adalah program itu akan relatif semakin baik. Mengapa? Karena program yang size-nya besar, banyak baris kode, akan dipecah menjadi modul-modul yang ukurannya lebih kecil. Beberapa keuntungannya adalah dalam hal efisiensi dan kemudahan dalam debugging. Dikatakan efisien karena konsep fungsi akan merangkum bagian tugas-tugas yang sama cukup dengan menuliskan kode program satu kali saja tetapi bisa dipanggil/ dijalankan berulang kali sepanjang program. Di sisi lain, jumlah baris kode program yang semakin sedikit akan memudahkan dalam menelusuri kesalahan yang ditemukan. Penggunaan konsep fungsi juga akan mengakibatkan isi dari void main() akan menjadi semakin ringkas.
Hampir sama dengan konsep fungsi dalam bahasa pemrograman lain, fungsi dalam bahasa C++ juga terdiri dari komponen yang disebut dengan HEADER fungsi dan BADAN fungsi. Header fungsi berisi informasi tentang TIPE NILAI KELUARAN (return value), NAMA FUNGSI, dan PARAMETER/ ARGUMEN FUNGSI. Return value akan berisi informasi tentang tipe data hasil keluaran dari fungsi (misal: void, int, char, float, dsb). Nama fungsi merupakan identifier untuk digunakan sebagai pemanggil fungsi (misal: hitung, proses, dsb). Sedangkan parameter, umumnya digunakan sebagai variabel untuk “jalan” masuknya input ke dalam fungsi (misal: int alas, float jari_jari, dsb). Untuk badan (BODY) fungsi akan berisikan baris-baris kode program yang akan dikerjakan jika fungsi tersebut dijalankan/ dipanggil. Sebagai tambahan, void main() yang biasa kita tulis pada saat membuat program itu juga termasuk dalam keluarga besar fungsi. Yang khusus, fungsi main() adalah fungsi utama, artinya fungsi tersebut HARUS ada setiap kali kita membuat program dalam bahasa C++. Fungsi main() hanya boleh diketikkan satu kali saja di sepanjang source code program yang kita buat.
Kombinasi nilai di bagian RETURN VALUE (RV) dan PARAMETER (P) fungsi, sedikitnya akan menghasilkan 4 bentuk kombinasi, yaitu: 1. RV void, P juga void. 2. RV void, tapi P ada isinya. 3. RV bukan void, tapi P void. 4. RV dan P keduanya bukan void. Apa itu void? Keyword void pada dasarnya akan memberitahukan kepada compiler bahwa pada bagian yang bersangkutan tidak mempunyai nilai/ value yang perlu ditangani secara khusus. Berikut penjelasan detailnya satu persatu.
1. RV dan P void.
Fungsi jenis ini biasanya disebut dengan istilah prosedur dalam bahasa Pascal/ Delphi atau juga dengan istilah subrutin dalam bahasa basic/ VB. Fungsi ini sama sekali mandiri, tidak membutuhkan input dan juga tidak menghasilkan output dari bagian lain program. Murni hanya berisi urut-urutan langkah saja. Ciri fungsi ini adalah jika ia melakukan proses pengolahan data maka komponen perintah input dan menampilkan output pasti akan dituliskan di dalam badan fungsi yang bersangkutan.
2. RV void, P berisi.
Fungsi ini berarti tidak akan menghasilkan keluaran bagi bagian lain program. Namun ia membutuhkan data sebagai input ke dalam fungsi. Dengan demikian fungsi jenis ini mensyaratkan terlebih dulu harus ada bagian lain program yang melakukan input data yang akan dikirimkan ke dalam fungsi sebelum menjalankan/ memanggil fungsi.
3. RV berisi, P void.
Tidak ada data input yang akan dibutuhkan oleh fungsi jenis ini. Tetapi, fungsi justru menghasilkan output. Kok bisa? Berarti bagian input data untuk fungsi ini akan ditulis langsung berada di dalam badan fungsi yang bersangkutan.
4. RV dan P berisi.
Fungsi jenis ini adalah fungsi yang murni. Ia hanya bertugas melakukan pengolahan data. Input diperoleh dari bagian lain program di atasnya. Sedangkan output hasil pengolahannya akan dikirimkan juga ke bagian lain program untuk kemudian ditampilkan secara terpisah. Fungsi ini ibarat fungsi matematis yang biasa kita kenal, seperti f(x,y) = 3x + 4y. Dimana (x,y) adalah parameternya, 3x + 4y adalah badan fungsinya. Sedangkan tanda ‘=’ menunjukkan pengiriman hasil perhitungan dari sebelah kanan ke sebelah kirinya.
Berikut contoh programnya. Selamat mencoba :)
#include “stdio.h”
//bagian deklarasi fungsi
void luas(void);
void kell(int jari);
float vol(void);
int jarak(int V, int t);
void main()
{
int pilihan;
printf(“\n1. Luas”);
printf(“\n2. Keliling”);
printf(“\n3. Volume”);
printf(“\n4. Jarak”);
printf(“\nPilih ? “);
scanf(“%d”, &pilihan);
switch(pilihan) {
case 1: luas(); break;
case 2:
//1. deklarasi variabel2
int jari;
//2. masukkan variabel input
printf(“masukkan jari :”);
scanf(“%d”,&jari);
kell(jari); break;
case 3:
float volume;
volume = vol();
//4. tampilkan hasilnya
printf(“volume = %f\n”,volume);break;
case 4:
int s, v, t;
printf(“masukkan kecepatan : “);
scanf(“%d”,&v);
printf(“masukkan waktu : “);
scanf(“%d”,&t);
s = jarak(v,t);
printf(“jarak = %d\n”, s); break;
default: printf(“salah!”);
}
}
//bagian definisi fungsi
void luas()
{
//deklarasi variabel2
int alas, tinggi;
float luas;
//input alas dan tinggi
printf(“Masukkan Alas : “);
scanf(“%i”, &alas);
printf(“Masukkan Tinggi : “);
scanf(“%i”, &tinggi);
//hitung luas
luas = 0.5 * alas * tinggi;
//output hasil
printf(“Luas = %f\n”, luas);
}
void kell(int jari)
{ float keliling;
//3. hitung variabel outputnya/ keliling
keliling=3.14*jari*jari;
//4. tampilkan hasilnya
printf(“keliling = %f\n”,keliling);
}
float vol()
{
//1. deklarasi variabel2
int panjang,lebar,tinggi;
//2. masukkan variabel input
printf(“masukkan panjang = “);
scanf(“%i”,&panjang);
printf(“masukkan lebar = “);
scanf(“%i”,&lebar);
printf(“masukkan tinggi = “);
scanf(“%i”,&tinggi);
//3. hitung variabel outputnya/ volume
return(panjang*lebar*tinggi);
}
int jarak(int v, int t)
{
return(v*t);
}

Struktur Dasar Program C++


#include <header file>
//Preprocessor Directive
Fungsi lain()
//Prototipe fungsi
Deklarasi variabel global;
//Pendeklarasian variable global
<Tipe data/void> main()
//Fungsi/program utama
{

Deklarasi variabel lokal/statis;
statemen-statemen;
//Pendeklarasian variable lokal/statis....
//Isi fungsi/program Utama




}





<Tipe data/void> Fungsi lain()
//Fungsi lain




{





Deklarasi variabel lokal/statis;
statemen-statemen;
//Pendeklarasian variable lokal/statis....
//Isi fungsi lain




}





Keterangan:
Preprocessor Directives diproses sebelum proses kompilasi program dimulai. Beberapa aksi yang mungkin terjadi adalah inklusi dari file lain pada file yang sedang dikompilasi, yag tediri dari definisi :
  • Symbolic constants and macros
  • Conditional compilation of program code
  • Conditional execution of Preprocessor Directives
Semua Preprocessor Directive diawali dengan tanda “#” dan tidak diakhiri dengan tanda semicolon (”;”). Bebrapa jenis Preprocessor Directive diantaranya :
  • # include Preprocessord Directive
  • # define Preprocessor Directive
  • Conditional Compilation
  • Dan Lain-lain
Deklarasi Variabel Global, pendeklarasian variable/identifier/data secara global, sehingga seluruh bagian program dapat menggunakanya.

Fungsi Utama. Dalam C++ jika fungsi main() tidak memberikan nilai balik, penulisan void di depan main() merupakan keharusan.
Contoh :
void main()

{

getch();

}
Sebaliknya jika fungsi main() mempunyai nilai balik maka di depan fungsi main() harus dituliskan tipe data dari nilai baliknya.
Contoh :
void main()

{

return 0;

}

Prototipe fungsi & fungsi lain, akan dibahas pada materi fungsi dan prosedur.


Kelebihan dan Kekuragan Bahasa C++
Kelebihan
  1. Merupakan Compiler
  2. Tersedia hampir disemua jenis komputer
  3. Banyak fasilitas untuk memanipulasi operator dan fungsi
  4. Struktur penulisan bahasa yang terstruktur.
  5. Bahasa tingkat tinggi yang mempunyai kemampuan seperti bahasa tingkat rendah (seperti dapat memanipulasi data dalam bentuk bit).
  6. Dibandingkan dengan bahasa tingkat tinggi lainya bahasa C++ mempunyai kecepatan eksekusi yang cepat.
  7. Mendukung bahasa pemrograman berorientasi obyek
  8. Kode yang ditulis menggunakan C++ bersifat reusable
Kekurangan
  1. Karena bahasa ini sangat fleksibel maka bagi pemula bahasa C++ akan sangatmembingungkan. Untuk itu disarankan para pemula tidak terburu-buru dalammempelajari bahasa C++ ini.
  2. Bahasa C++ masih tergantung pada operating-sistemnya. Hal ini yang kemudianmemicu terciptanya bahasa JAVA, bahasa multiplatform.

Sabtu, 14 April 2012

Sekuen Dengan Raptor


contoh sekuen dengan raptor merubah dari meter (m) ke inci dan cm..

semoga bisa ber manfaat

Refleksi Alpro 7

materi minggu ini tentang  array
menjelaskan tentang kisi-kisi UTS
semoga UTS dapat nilai yang bagus.. amiiien

Senin, 09 April 2012

refleksi Alpro 6

 

pada minggu ini membahas tentang fungsi rekursif. Fungsi rekursif yaitu fungsi yang melakukan proses perulangan dengan cara memanggil dirinya sendiri

 cara pemanggilan :
while (d>0)
r =c%d
c =d
d =r
return c

Minggu, 01 April 2012

Refleksi Alpro 5


pada minggu ini kelompok TP  sudah faham tentang materi materi yang telah di berikan. disini kita sudah menyelesaikan beberapa tugas - tugas. dari kelompok kami sendiri dan kami pun bisa lebih paham tentang alpro. minggu ini tak ada presentasi tapi kelompok,