MENGENALI DAN PENJELASAN BAHASA PEMPROGMAN C++ UNTUK PEMULA
Hai sobat, Di dalam artikel saya akan membahas mengenai MENGANALI DAN PENJELASAN BAHASA PEMPROGRAMAN C di mana di dalam bahasa pemrograman c++ kita akan mengenal dan mempelajari mengenai FUNGSI INPUT/OUTPUT, PERCABANGAN, PERULANGAN, ARRAY, dan masih banyak lagi. Bagi kalian yang suka coding dan pemrograman sudah tidak asing lagi kan. Tapi sebelum mempelajari tersebut kita mempelajari apa sih PENGERTIAN BAHASA PEMROGRAMAN C++?
SEJARAH BAHASA PEMROGRAMAN C++
Bahasa C++ diciptakan oleh Bjarne Stroustrup di AT&T Bell Laboratories awal tahun 1980-an berdasarkan C ANSI (American National Standard Institute). Pertama kali, prototype C++ muncul sebagai C yang dipercanggih dengan fasilitas kelas. Bahasa tersebut disebut C dengan kelas ( C wih class). Selama tahun 1983–1984, C dengan kelas disempurnakan dengan menambahkan fasilitas pembeban lebihan operator dan fungsi yang kemudian melahirkan apa yang disebut C++. Symbol ++ merupakan operator penaikan pada C , digunakan untuk menunjukkan bahwa bahasa baru ini merupakan versi yang lebih canggih dari C. Borland International merilis compiler Borland C++ dan Turbo C++. Kedua compiler ini sama-sama dapat digunakan untuk mengkompilasi kode C++. Bedanya, Borland C++ selain dapat digunakan dibawah lingkungan DOS, juga dapat digunakan untuk pemrograman Windows.
PENGERTIAN BAHASA PEMROGRAMAN C++
C++ merupakan bahasa pemrograman yang memiliki sifat Pemrograman berorientasi objek, Untuk menyelesaikan masalah, C++ melakukan langkah pertama dengan menjelaskan class-class yang merupakan anak class yang dibuat sebelumnya sebagai abstraksi dari object-object fisik, Class tersebut berisi keadaan object, anggota-anggotanya dan kemampuan dari objectnya, Setelah beberapa Class dibuat kemudian masalah dipecahkan dengan Class. Bahasa C adalah bahasa pemrograman prosedural yang memungkinkan kita untuk membuat prosedur dalam menyelesaikan suatu masalah. Bahasa pemrograman C++ adalah bahasa pemrograman yang berorientasi pada objek.
Perbedaan Antara Bahasa pemrograman C dan C++ meskipun bahasa-bahasa tersebut menggunakan sintaks yang sama tetapi mereka memiliki perbedaan, C merupakan bahasa pemrograman prosedural, dimana penyelesaian suatu masalah dilakukan dengan membagi-bagi masalah tersebut kedalam su-submasalah yang lebih kecil, sedangkan untuk C++ merupakan bahasa pemrograman yang memiliki sifat Pemrograman berorientasi objek, Untuk menyelesaikan masalah, C++ melakukan langkah pertama dengan menjelaskan class-class yang merupakan anak class yang dibuat sebelumnya sebagai abstraksi dari object-object fisik, Class tersebut berisi keadaan object, anggota-anggotanya dan kemampuan dari objectnya, Setelah beberapa Class dibuat kemudian masalah dipecahkan dengan Class.
KELEBIHAN DARI BAHASA PEMROGRAMAN C++ :
- Bahasa C++ tersedia hampir di semua jenis komputer
- Kecepatan program jika dibanding dengan program yang sama buatan bahasa lain, C++ relatif lebih cepat.
- C++ adalah bahasa yang terstruktur, dengan demikian akan lebih mendukung OOP.
- Bahasa Standard-nya ANSI bisa dipakai diberbagai platform
KEKURANGAN DARI BAHASA PEMROGRAMAN C++:
- Sulitnya untuk membuat sesuatu dengan Bahasa Pemrograman C++ sehingga minat dalam memperdalam programming akhirnya harus terhenti, kecuali dengan inisitif sendiri mempelajari bahasa/teknologi lain.
- C++ tidak murni OOP sehingga kurang cocok untuk mengajarkan Konsep OOP karena kaidah-kaidah OOP dapat dilanggar.
PENGERTIAN BAHASA PEMROGRAMAN C
Bahasa pemrograman C merupakan salah satu bahasa pemrograman komputer. Dibuat pada tahun 1972 oleh Dennis Ritchie untuk Sistem Operasi Unix di Bell Telephone Laboratories.Meskipun C dibuat untuk memprogram sistem dan jaringan komputer namun bahasa ini juga sering digunakan dalam mengembangkan software aplikasi. C juga banyak dipakai oleh berbagai jenis platform sistem operasi dan arsitektur komputer, bahkan terdapat beberepa compiler yang sangat populer telah tersedia. C secara luar biasa memengaruhi bahasa populer lainnya, terutama C++ yang merupakan extensi dari C.
Di dalam bahasa pemrograman C++ terdapat Pengarah Preprocessor Dalam Bahasa Pemrograman C atau C++ bagian pertama yang menyusun sebuah tugas, terbentuk di pengarah preprocessor. Pengarah preprocessor menginstruksikan compiler untuk membentuk beberapa tugas sebelum komplisasi dimulai. Pengarah preprocessor #include ,salah satu yang sering terlihat,contoh #include<stdio.h> menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai. Pengarah preprocessor yang lain adalah #define, yang merupakan definisi sebuah macro.
Deklarasi Global
Bagian utama yang kedua dari sebuah program C++ berisi deklarasi global. Deklarasi global memberitahu compiler fungsi user-defined dan variable (atau konstanta) yang dipakai untuk semua fungsi dalam program sumber. Contoh:
Int sum(int a,int b); // deklarasi fungsi user-defined sum
Int X; // deklarasi variable X
Program main ( )
Bagian utama ketiga dari program C++ adalah fungsi main ( ) (yang merupakan tubuh utama program), setiap program harus memiliki fungsi main ( ). Eksekusi program dimulai dari fungsi main ( ) dan dalam struktur program yang baik, eksekusi berujung pada fungsi ini.
Contoh :
Main( ){
Pernyataaan;
}
Fungsi User-defined
Bagian terahir dari program C ++ berisi user-define yang merupakan kelompok dari perintah yang dibuat untuk menyempurnakan perintah-perintah program. Sewaktu anda mendeklarasikan variable, konstanta atau fungsi (yang menghasilakan nilai balik) dalam program, anda harus memberi nama variable, konstanta, atau fungsi tersebut beserta tipe datanya kepada compiler C++. Tipe mendefinisikan nilai yang dapat disimpan pada variable, atau konstanta, atau nilai yang dapat dihasilkan oleh fungsi dan juga sekumpulan operasi yang dapat dilakukan terhadap data tersebut.
Tipe data dasar pada C++ meliputi :
- Char
- Int
- Short
- Long
- Float
- Double
- Long
- double.
FUNGSI INPUT DAN OUTPUT DALAM C++
Sebelumnya saya sudah membahas mengenai apa itu bahasa pemrograman C++, sekarang saya akan menjelaskan mengenai apa Fungsi Input dan Output di dalam c++ itu. Dimana Fungsi Input dan Output dipergunakan untuk menampilkan sebuah informasi hasil pengolahan masukan.Tanpa fungsi ini kita tidak dapat memasukkan data dan tidak bisa melihat hasil dari program yang kita buat.
Berikut beberapa fungsi input dan output di dalam c++ :
1. Fungsi scanf() (Fungsi Input/masukan) dan printf() (fungsi output/keluaran)
Fungsi scanf() membentuk sebuah input terformat. scanf() memasukkan data yang sudah ditentukan sebelumnya oleh variabel, atau sudah ditentukan bentuknya.Sedangkan fungsi printf() yaitu Suatu fungsi untuk character dan string baik untuk menghasilkan hanya informasi yang berbasis character. Suatu saat jika untuk menampilkan semua jenis data. Dapat digunakan fungsi if(), yang tidak hanya fungsi karakter. Adapun dengan menggunakan fungsi scanf() dan fungsi printf() maka dapat dihasilkan sebuat output data terformat karena fungsi ini memberikan keleluasaan untuk mengatur tampilan hasil input dan output. dalam fungsi ini yang diperlukan untuk file header adalah <stdio.h>.
Berikut Format yang digunakan dalam fungsi scanf() :
Berikut Format yang digunakan dalam fungsi printf() :
Selain format yang diatas perlu diperhatikan juga sebuah karakter yang ditulis dengan tanda “\” yang diikuti dengan karakter tertentu.
Karakter-karakter tersebut ialah :
\\ = Memunculkan karakter \
\” = Memunculkan karakter “
\’ = Memunculkan karakter ‘
\? = Memunculkan karakter ‘
\a = Untuk membangkitkan suara atau speaker (bell)
\b = Karakter backspace, kursor akan kembali ke depan sebanyak satu karakter
\f = Formfeed : untuk meletakkan formfeed
\n = Newline : untuk meletakkan baris baru(ganti baris )
\r = Carriage return : untuk meletakkan kursor di awal baris bersangkutan
\t = Horizontal tab : untuk meletakkan tab horizontal
\v = Vertical tab : untuk meletakkan tab vertical
Berikut Contoh program mengenai Fungsi scanf() dan printf() :
#include <stdio.h>
#include<conio.h>
main(){
int x;
printf(“Masukkan sebuah bilangan bulat = ”);
scanf(“%d”, &x);
printf(“Nilai yang dimasukkan adalah = %d”, x );
getch();
return 0;
}
Dan output dari program diatas adalah :
Fungsi Input Cin>> dan Output Cout<< dalam C++
Sama seperti fungsi input dan outpur scanf() dan printf(), cin>> dan cout<< juga berfungsi sebagai masukakn(input) dan juga keluaran(output). Namun bedanya Cin>> dan Cout<< menggunakan sebuah file header <iostream.h>
Berikut Contoh programnya :
#include <stdio.h>
#include<conio.h>
int main()
{
int x;
cout<< “Masukkan bilangan bulat: “;
cin>>x;
cout<<“Nilai yang dimasukkan :”<< x;
cout<<endl;
getch();
return 0;
}
Dan output dari program diatas adalah :
Sama bukan hasilnya menggunakan Fungsi Input dan Output scanf() dan printf() maupun menggunakan Fungsi Cin>> dan Cout<< ?
Fungsi return 0 yang disebutkan di atas adalah fungsi main() yang digunakan untuk mengembalikan nilai 0 ke sistem operasi yang menandakan bahwa program tersebut berjalan dengan baik tanpa adanya kesalahan.
Setelah pembahasan tadi sobat sudah ngerti kan Fungsi Input dan Output dalam c++? pada intinya fungsi input dan juga output itu dipergunakan untuk mendeklarasikan masukan maupun inputan guna menghasilkan informasi yang mau kita masukkan. Selain penjelasan di atas yang saya jelaskan masih banyak lagi yang perlu kita pelajari di bahasa pemrograman C++, seperti mengenai perulangan didalam C++ (Bagaimana sih perulangan di C++), percabangan, array, sorting, searching, dan masih banyak lainnya,tanpa berlama-lama mari kita lanjutkan ke materi selanjutnya yaitu percabangan.
PERCABANGAN PADA C++
Mari sobat Belajar C++ kembali, setelah saya membahas pengertian C++ dan fungsi input/output kali ini saya akan membahas mengenai percabangan pada C++. Dalam kehidupan sehari-hari tentu sobat pernah dong mengalami suatu masalah yang diharuskan untuk memilih salah satu atau lebih suatu kondisi tertentu. Nah didalam sebuah pemrograman kita juga dihadapkan pada suatu masalah, yaitu proses menyeleksi atau pemilihan suatu statemen atau dalam bahasa C++ yaitu percabangan. Apa itu Percabangan pada C++?Percabangan merupakan pemilihan statemen yang akan dieksekusi dimana pilihan tersebut didasarkan pada baris perintah.
kondisi tertentu untuk mengarahkan perjalanan suatu proses. Biasanya program akan dieksekusi baris perbaris setiap saat secara berurutan. Eksekusi baris perbaris sangat baik,sebab tidak akan terdapat saat vacuum pada program. Jika ingin perubahan,dalam hal ini program melompat(tidak berurutan) baik ke baris perintah jauh dibawahnya maupun melompat ke baris perintah diatasnya. Maka kita membutuhkan perintah percabangan , yaitu fungsi yang dapat mengatur program agar melompat ke suatu baris perintah yang ditentukan,sesuai dengan kondisi yang sedang diterima.
Dalam menuliskan syarat digunakan suatu operator relasi yang digunakan untuk membandingkan 2 buah nilai :
Fungsi percabangan yang biasa digunakan dalam C++ adalah : if, if-else, dan switch.
Mari Kita bahas satu persatu :
1. Percabangan Bersyarat IF
Struktur ini merupakan struktur yang paling sederhana karena hanya melibatkan satu buah ekspresi yang akan diperiksa.Percabangan if akan menagani suatu eksprsi apabila kondisi terpenuhi. Bentuk dasar pernyataan if adalah:
If (ekspresi kondisional)
Statemen ;
//Diatas jika hanya terdiri dari satu statement, Bagaimana Jika lebih dari 1 ? Jika lebih dari satu makan statemennya harus berada dalam { }.
If (ekspresi kondisional)
{
Statemen 1
Statemen_2
Statemen_3
……..
Statemen_n
}
Penjelasannya jika ekspresi kondisional di dalam tanda kurung benar, maka statemen atau grup statemen dibawahnya akan dieksekusi, sebaliknya jika ekspresi kondisionalnya salah maka statemen/grup statemen di bawahnya tidak akan dieksekusi (fungsi if tidak menghasilkan apa-apa). Ekpresi kondional adalah ekspresi yang menjadi dasar bagi pernyataan yang berkondisi (selau dipakai pada fungsi if), yang memberikan nilai benar atau salah.
Berikut Contoh program percabangan bersyarat IF :
#include <stdio.h>
#include <conio.h>
main(){
int x;
printf(“\n================================\n”);
printf (“\nBELAJAR PERCABANGAN BERSYARAT IF\n”);
printf (“n================================\n”);
printf (“Masukkan Angka: “);scanf(“%d”,&x);
if (x>0)
printf (“Angka yang dinputkan bilangan positif”);
getch();
return 0;
}
Dan ini output dari program diatas adalah :
2. Percabangan IF-ELSE
Percabangan if-else akan menangani salah satu dari dua ekspresi / grup ekspresi sesuai nilai kondisi yang dihasilkan. dan dapat dikatan percabangan ini sedikit lebih komplek jika dibandningan dengan percabangan if yang sudah saya jelaskan di atas. Bentuk percabangan if-else sebagai berikut:
//Struktur 2 kondisi
If(ekspresi kondisional)
Statemen_1;
Else
Statemen_2;
dan untuk struktur 3 kondisi atau lebih berikut strukturnya :
If(ekspresi kondisional)
{
Statemen_1_1
Statemen_1_2
………………………
Statemen_1_n
}
Else
{
Statemen_2_1
Statemen_2_2
………………………
Statemen_2_n
}
Penjelasan dari bentuk diatas yaitu apabila ekspresi kondisional menghasilkan nilai benar maka program akan mengeksekusi statemen_1,namun sebaliknya apabila ekspresi kondisional bernilai salah maka yang akan dieksekusi adalah statemen_2 .
Berikut Contoh Program If — else 2 kondisi:
#include <stdio.h>
#include <conio.h>
main(){
int x;
printf(“\n======================================\n”);
printf(“\nBELAJAR PERCABANGAN BERSYARAT IF-ELSE\n”);
printf(“\n======================================\n”);
printf(“Masukkan Nilai = “);scanf(“%d”,&x);
if (x% 2 == 0)
printf(“Nilai dimasukkan adalah bilangan genap”);
else
printf(“Nilai dimasukkan adalah bilangan ganjil”);
getch();
return 0;
}
Dan ini output dari program diatas adalah :
Contoh untuk Program If — else 3 kondisi:
#include <stdio.h>
#include <conio.h>
main (){
int x;
char i;
printf(“\n========================================\n”);
printf(“\nBELAJAR PERCABANGAN BERSYARAT IF-ELSE-IF\n”);
printf(“\n========================================\n”);
printf(“Masukkan Bilangan:”); scanf(“%d”,&x);
if (x>0){
printf(“Bilangannya adalah Positif(+)”);}
else if (x<0){
printf(“Bilangannya adalah Negatif(-)”);}
else{
printf(“Bilangannya adalah Nol(0)”;
}
Scanf(“%c”,&i)
getch();
}
Dan ini output dari program diatas adalah :
3. PERCABANGAN SWITCH-CASE-DEFAULT
Sebuah pernyataan yang digunakan untuk menjalankan salah satu pernyataan dari beberapa kemungkinan pernyataan, berdasarkan nilai dari sebuah ekspresi dan nilai penyeleksi. secara singkat, pernyataan ini merupakan pernyataan pilihan ganda. Bentuk dari pernyataan switch adalah:
Switch(ekspresi)
{case ekspresi_1
pernyataan_1;
break;
case ekspresi_2
break;
case ekspresi_n;
break;
default;
pernyataan_x
}
Pada pernyataan switch,ekspresi dapat berupa ekspresi,konstanta ataupun variable.Adapaun ekspresi1,ekspresi2,dan seterusnya dapat berupa sembarang konstanta bertipe int atau char. Pencocokan ekspresi dengan ekspresi1,ekpresi2,dan sebagainya dilakukan secara berurutan,dimulai yang pertama. Sekiranya Cocol, pernyataan yang mengikuti case bersangkutan dijalankan. Kalau selanjutnya pernyataan break ditemukan, eksekusi dari pernyataan switch berakhir. Dan perlu diketahui, untuk bagian default hanya akan dijalankan jika ungkapan pada bagian case tiadak ada yang cocok dengan ungkapan switch.
Berikut contoh program switch :
#include <iostream.h>
#include <conio.h>
main() {
int x;
cout<<“\n==================================================\n”;
cout<<“\nBELAJAR PERCABANGAN BERSYARAT SWITCH-CASE-DEFAULT\n”;
cout<<“\n==================================================\n”;
cout<<“Masukkan angka untuk mengetahui hari apa : “;cin >>x;
switch (x){
case 1 : cout<<“Hari ke “<<x<<” : Senin”;
break;
case 2 : cout<<“Hari ke “<<x<<” : Selasa”;
break;
case 3 : cout<<“Hari ke “<<x<<” : Rabu”;
break;
case 4 : cout<<“Hari ke “<<x<<” : Kamis”;
break;
case 5 : cout<<“Hari ke “<<x<<” : Jum’at”;
break;
case 6 : cout<<“Hari ke “<<x<<” : Sabtu”;
break;
case 7 : cout<<“Hari ke “<<x<<” : Minggu”;
break;
default :cout<<“Tidak ada hari ke “<<x;}
getch();
return 0;
}
Dan ini output dari program diatas adalah :
PERULANGAN (LOOPING) PADA C++
Jika berbicara mengenai perulangan/looping, apa yang kita pikirkan, apakah sesuatu yang kita ulang-ulang? Tapi disini akan dibahas mengenai Perulangan dalam bahasa pemrograman C++, Bagaimana bentuk dari perulangan c++ tersebut, apa perulangan ( looping ) pada C++?
Yang dimaksud dengan perulangan(looping)pada c++ ialah sesuatu proses yang dilakukan secara berulang-ulang sampai batas yang ditentukan. Bentuk umum dari perulangan(looping) pada C++ ini ada 3 :For,While,Do While
1. For
merupakan fungsi perulangan yang digunakan untuk pengulangan suatu pernyataan atau beberapa pernyataan, dimana jumlah perulangan yang akan dilakukan dapat ditentukan.
Bentuk perulangan for adalah sebagai berikut :
for(ungkapan1,ungkapan2,ungkapan3)
pernyataan;
atau
for(ungkapan1,ungkapan2,ungkapan3)
{
pernyataan1;
pernyataan2;
…….
pernyataan_n;
}
Penjelasannya :
ungkapan1 merupakan pernyataan inisialisasi nilai awal keadaan
ungkapan2 berlaku sebagai kondisi yang menenukan pengulangan terhadap pernyataan.
ungkapan3 digunakan sebagai pengatur variabel yang digunakan di dalam ungkapan1
Berikut contoh dari perulangan for :
#include <iostream.h>
#include <conio.h>
main( )
{
char a;
cout<<“\n============================================\n”;
cout<<“\nBELAJAR PERULANGAN FOR ( HURUF ABJAD A-Z )\n”;
cout<<“\n============================================\n”;
for(a=’A’; a<=’Z’; a++)
cout<<a<<endl;
getch();
}
Dan ini output dari program diatas adalah :
2. WHILE
merupakan pernyataan yang berguna untuk memproses suatu pernyataan/pernyataan beberapa kali ( jumlah perulangan tidak ditentukan). Bentuk umum dari pernyataan while adalah :
while ( ungkapan )
pernyataan;
atau jika pernyataan lebih dari 1 :
while (ungkapan)
{
pernyataan1;
pernyataan2;
……….
pernyataan_n;
}
pada pernyataan yang mengikuti (bawah ) while akan dieksekusi selama ungkapan pada while ernilai benar ( tidak sama dengan nol ). Perlu diketahui bahwa pengujian terhadap ungkapan pada while dilakukan sebelum bagian pernyataan. Oleh karena itu ada kemungkinan pernyataan while tidak jalan sama sekali jika kondisi yang pertama kali bernilai salah.
Berikut contoh program dari perulangan (looping) while:
#include <stdio.h>
#include <conio.h>
main(){
int A;
printf(“\n===========================\n”);
printf(“\nBELAJAR PERULANGAN WHILE\n”);
printf(“\n===========================\n”);
A=4;
while (A<=19)
{
Printf(“%d\n”,a)
A=A+3;
}
getch();
}
Dan ini output dari program diatas adalah :
3. DO WHILE
pernyataan yang digunakan untuk mengulang proses. perbedaan dengan while, do… while memiliki pengecekan kondisi yang terletak setelah statemen perulangan. Bentuk perulangan do while sebagai berikut :
perulangan do while sebagai berikut :
do
{
pernyataan1;
pernyataan2;
……………….
pernyataan_n;
}
while (ungkapan);
Bagian pernyataan1 hingga pernyataa_n dijalankan secara berulang sampai ungkapan bernilai salah ( sama dengan nol ). Namun berbeda dengan while, pengujian ungkapan dilakukan di belkang ( setelah bagian pernyataan ).
Berikut contoh program dari do… while :
#include <iostream.h>
#include <conio.h>
int main(){
int A;
cout<<“\n===========================\n”;
cout<<“\nBELAJAR PERULANGAN DO-WHILE\n”;
cout<<“\n===========================\n”;
A=3;
do{
cout<<A<<endl;
A=A+2;
}
while (A<=15);
getch();
return 0;
}
Dan ini output dari program diatas adalah :
Sekilas yang bisa saya jelaskan mengenai perulangna(looping) dalam C++, mudah bukan. Kalian juga dapat mepelajari mengenai fungsi input/output yang digunakan dalam C++, belajar mengenai percabangan, maupun array di artikel saya.sekarang kita lanjut lagi sobat menjelaskan mengenai ARRAY,ada yang tau ARRAY?
ARRAY DALAM C++
Setelah pembahasan-pembahasan sebelumnya mengenai apa yang dipelajari dalam c++ seperti fungsi input/output, perulangan, percabangan dalam c++ sekarang saya akan berbagai mengenai array. Apa yang dimaksud Array dalam c++, dan juga bagaimana pendeklarasian didalam c++ ?
Mari Kita bahas satu persatu mengenai array dalam c++
Pengertian ARRAY
merupakan suatu kumpulan variabel yang memiliki tipe data yang sama dan diartikan dalam nama yang sama. Didalam variabel array dideklarasikan dengan mencantumkan tipe dan nama variabel yang diikuti dengan banyaknya lokasi memori yang dibuat..
Bentuk deklarasi array sebagai berikut:
Typename indentifier[size_constant_constant_expression];
Dimana:
Typenama : jenis data elemen array
Identifier : Nama array
Size_constant_expression : ukuran / panjang elemen array
Contoh:
Int array_data[ 100 ];
Contoh programnya :
#include <stdio.h>
#include <conio.h>
main()
{
int N[5]={5,10,12,8,5};
int i;
printf(“\n===========================\n”;
printf(“\nBELAJAR ARRAY 1 Dimensi\n”);
printf(“\n===========================\n”);
for(i=0; i<=5; i++)
printf(“%d”,i+1);scanf(“%d”,&N[i]);
getch();
return 0;
}
Dan ini output dari program diatas adalah :
ARRAY 2 DIMENSI
ARRAY 2 dimensi digunakan untuk penyajian data berbentuk tabel atau juga dalam bentuk matrik.
Deklarasi ARRAY 2 dimensi adalah sebagai berikut:
Type nama_var[baris][kolom];
Dimana:
● tipe : menyatakan jenis elemen array (int, char, unsigned, dan lain-lain)
● ukuran : menyatakan jumlah maksimal elemen array
Contoh : array 2 dimensi
Int matrix [3][2] ; // dimana [3] merupakan jumlah baris dan [2] adalah jumlah kolom
berikut contoh program array 2 dimensi secara statis
#include <conio.h>
#include <iostream.h>
main(){
cout<<“\n===============================\n”;
cout<<“\nBELAJAR ARRAY 2 DIMENSI STATIS\n”;
cout<<“\n===============================\n”;
int data[3][2]={{3,4},{7,9},{10,11}};
for (int i=0; i≤3; i++){
for (int j=0; j<2; j++){
cout<<data[i][j]<<” “;}
cout<<endl;}
getch();}
Dan ini output dari program diatas adalah :
Dan berikut contoh program array 2 dimensi secara dinamis :
#include <conio.h>
#include <iostream.h>
main(){
int data[3][2];
for (int i=0; i≤3; i++){
for (int j=0; j<2; j++){
cout<<“data[“<<i<<“][“<<j<<“]: “;
cin>>data[i][j];}}
cout<<“Data yang telah dimasukkan :”<<endl;
for (int i=0; i≤3; i++){
for (int j=0; j<2; j++){
cout<<data[i][j]<<” “;}
cout<<endl;}
getch();}
Dan ini output dari program diatas adalah :
ARRAY MULTIDIMENSI
Menggunakan array multidimensi sama mudahnya dengan menggunakan array satu dimensi,hanya memerlukan sedikit perubahan dalam deklarasinya.
Deklarasi multidimensi ( n dimensi ) adalah sebagai berikut:
Typename identifier[a1]a2]….[an];
Dimana:
a1,a2,…..an : ukuran/ panjang element pada masing-masing dimensi
Perbedaan array dengan tipe data lain :
Array dapat mempunyai sejumlah nilai, sedangkan tipe data lain hanya dihubungkan dengan sebuah nilai saja. Array dapat digunakan untuk menyimpan beberapa nilai tipe data lain data (char, int, float, double, long, dll) yang sama dengan satu nama saja. Selain itu, array dapat berupa satu dimensi atau lebih, sedangkan tipe data lain hanya berupa satu dimensi.
Berikut contoh dari array multidimensi :
#include <conio.h>
#include <iostream.h>
#include <stdio.h>
main(){
cout<<“\n===========================\n”;
cout<<“\nBELAJAR ARRAY MULTIDIMENSI\n”;
cout<<“\n============================n”;
cout<<“\INPUTKAN DATA\n”;
int data [3][1][3];
for (int i=0; i≤3; i++){
for (int j=0; j<1; j++){
for (int k=0; k≤3; k++){
cout <<“data[“<<i<<“][“<<j<<“][“<<k<<“]:”;
cin>>data[i][j][k];
}
}
cout<<endl;
}
cout<<“\n\n”;
cout<<“\Data yang disimpan\n”;
for (int i=0; i≤3; i++){
for (int j=0; j<1; j++){
for (int k=0; k≤3; k++){
cout<<data[i][j][k]<<” “;}
cout<<“\n\n”;
cout<<endl;
}
}
getch();
}
Dan ini output dari program diatas adalah :
Pengertian dan contoh sorting di dalam C++
Pada kali ini saya akan membahas mengenai sorting didalam c++, di dalam kehidupan sehari-hari sorting ditemukan dalam kamus yang hurufnya berurutan untuk mempermudah pengguna dalam pencarian. Mengapa kita harus melakukan sorting data? Ada banyak alasan dan keuntungan dengan mengurutkan data. Data yang terurut mudah untuk dicari, mudah untuk diperiksa, dan mudah untuk dibetulkan jika terdapat kesalahan. Data yang terurut dengan baik juga mudah untuk dihapus jika sewaktu-waktu data tersebut tidak diperlukan lagi. Selain itu, dengan mengurutkan data maka kita semakin mudah untuk menyisipkan data atapun melakukan penggabungan data. Selanjutnya apa itu pengertian dari sorting di dalam bahasa pemrograman c++?
PENEGERTIAN SORTING
Sorting adalah proses mengatur sekumpulan objek menurut aturan atau susunan tertentu. Urutan objek tersebut dapat menaik atau disebut juga ascending (dari data kecil ke data lebih besar) ataupun menurun/descending(dari data besar ke data kecil).
Metode Sorting :
Bubble Sort / Pengurutan Gelembung
Selection Sort/Pengurutan Maksimum-minimum
Insertion Sort/Pengurutan sisip
- Bubble sort / pengurutan gelembung
Ini merupakan suatu metode pengurutan gelembung yang diinspirasi oleh gelembung sabun yang ada di dalam permukaan air, karena berat jenis gelembung sabun lebih ringan daripada berat jenis air maka gelembung sabun akan selalu megapung. Prinsip pengapungan ini juga dipakai pada pengurutan gelembung. Elemen yang berharga paling kecil “diapungkan”, yang artinya diangkat ke atas (atau ke ujung paling kiri) melalui pertukaran. Proses pengapungan ini dilakukan N kali langkah. Pada langkah ke 1, Larik[1….N] akan terdiri dari 2 bagian yaitu :
a. Bagian yang sudah terurut yaitu L[1]…L[i]
b. Bagian yang belum terurut L[i+1]..L[n]
Untuk contoh program ini adalah
#include <iostream.h>
#include <conio.h>
main(){
int nilai[‘n’];
int temp;
int n;
cout<<“Banyak Data: “;
cin>>n;
cout<<endl;
for (int a=1; a<=n; a++){
cout<<“nilai[“<<a<<“]: “;
cin>>nilai[a];
}
cout<<“\n\n”;
cout<<“Data Sebelum diurutkan”<<endl;
for(int a=1; a<=n; a++){
cout<<nilai[a]<<” “;
}
for(int a=n-1; a>=1; a–){
for(int b=1; b<=a; b++){
if(nilai[b]>nilai[b+1]){
temp=nilai[b+1];
nilai[b+1]=nilai[b];
nilai[b]=temp;
}
}
}
cout<<“\n\nData Setelah Diurutkan (Ascending)”<<endl;
for (int a=1; a<=n; a++){
cout<<nilai[a]<<” “;}
cout<<“\n\n”;
cout<<“\n\nData Setelah Diurutkan (Descending)”<<endl;
for (int a=n; a>=1; a–){
cout<<nilai[a]<<” “;}
getch();
}
Dan ini output dari program diatas adalah :
2. Selection Sort / Pengurutan Maksimum-Minimum
Metode pengurutan ini didasarkan pada pemilihan elemen maksimum atau minimum kemudian mempertukarkan elemen maksimum-minimum tersebut dengan elemen terujung larik (elemen ujung kiri atau elemen ujung kanan), selanjutnya elemen terujung itu kita “isolasi” dan tidak diikut sertakan pada proses selanjutnya. Karena proses utama dalam pengurutan adalah pemilihan elemen maksimum/minimum, maka metode ini disebut metode pemilihan ( selection)
Contoh programnya adalah :
#include <iostream.h>
#include <conio.h>
#include <iomanip.h>
int main(){
//deklarasi array dengan 7 elemen
int A[7];
int j,k,i,temp;
int jmax,u=6;
//memasukkan nilai sebelum diurutkan
cout<<“Masukkan nilai pada elemen array :”<<endl;
for(i=0;i<7;i++)
{
cout<<“A[“<<i<<“]=”;
cin>>A[i];
}
//Proses pengurutan secara menaik (Ascending)
for(j=0;j<7;j++)
{
jmax=0;
for(k=1;k<=u;k++)
if (A[k] > A[jmax])
jmax=k;
temp=A[u];
A[u]=A[jmax];
A[jmax]=temp;
u–;
}
//menampilkan nilai setelah diurutkan
cout<<“\nNilai setelah diurutkan =”<<endl;
for(i=0;i<7;i++)
cout<<A[i]<<” “;
getch();
}
Dan ini output dari program diatas adalah :
3. Insertion Sort/pengurutan sisip
Metode pengurutan dengan cara menyisipkan elemen larik pada posisi yang tepat. Pencarian posisi yang tepat dilakukan dengan pencarian beruntun. Selama pencarian posisi yang tepat dilakukan pergeseran elemen larik.
Contoh program insertion sorting :
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
main (){
int i,j, b, k, m, n,x,z,ketemu=0;
int data[‘n’], temp[100];
cout<<“\n======================\n”<<endl;
cout<<“\n — -BELAJAR SORTING — \n”;
cout<<“\n======================\n”<<endl;
cout<<“Inputkan Banyak Data: “;
cin>>n;
for(i=0; i<n; i++){
cout<<“Data Ke-“<<i<<” : “;
cin>>data[i];
}
cout<<“\n\n”;
cout<<“Data Sebelum diurutkan”<<endl;
for(int i=0; i<n; i++){
cout<<i+1<<“.”;
cout<<data[i]<<” “;
cout<<endl;
}
for (i=0; i<n; i++){
for (j=0; j<=i; j++)
{
if(data[i]<data[j])
{
m=data[i];
data[i]=data[j];
data[j]=m;
}
}
cout<<“\n#”<<i<<“: “;
for(k=0; k<=i; k++)
{
cout<<” “<<data[k];
}
}
cout<<“\n\n”;
cout<<“\nData Setelah Diurutkan (Ascending):”<<endl;
for(i=0; i<n; i++){
cout<<i+1<<” “;
cout<<data[i]<<” “<<endl;}
for (i=0; i<n; i++){
for (j=0; j<=i; j++)
{
if(data[i]>data[j])
{
m=data[i];
data[i]=data[j];
data[j]=m;
}
}
cout<<“\n#”<<i<<“: “;
for(k=0; k<=i; k++)
{
cout<<” “<<data[k];
}
}
cout<<“\n\n”;
cout<<“\nData Setelah Diurutkan (Descending):”<<endl;
for(i=0; i<n; i++){
cout<<i+1<<“.”;
cout<<data[i]<<” “<<endl;
}
getch();
}
Dan ini output dari program diatas adalah :
Searching dalam C++
Pembahasan kita selanjutnya ialah mengenai searching di dalam C++, setelah sebelumnya kita mempelajari sorting, maka untuk selanjutnya kita membahas mengenai searching di dalam C++, bagaimana searching di dalam C++ itu ? mari kita ulas apa itu yang dimaksud searching…
Pengertian Searching
Proses yang fundamental dalam pemrograman, guna menemukan data (nilai) tertentu di dalam sekumpulan data yang bertipe sama. Fungsi pencarian itu sendiri adalah untuk memvalidasi (mencocokkan) data.
Ada 2 metode pencarian :
- Pencarian Beruntun (Sequensial Search)
membandingkan setiap elemen larik satu per satu secara urut (beruntun), mulai dari elemen pertama sampai dengan elemen yang terakhir.
Ada 2 macam pencarian beruntun
yaitu pencarian pada array yang sudah terurut dan pencarian pada array yang belum terurut.
Contoh programnya :
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <iomanip.h>
void main(){
int A[]={12,24,13,25,10,13,21,15,15,18};
int bil;
for(int i=0;i<10;i++)
{ cout<<setw (4)<<A[i];}
cout<<endl;
cout<<“Angka yang dicari = “;cin>>bil;
cout<<endl;
for(int i=0;i<10;i++){
if(A[i]==bil)
cout<<“angka yang dicari berada di indeks ke-“<<i<<endl;}
getch();}
Dan ini output dari program diatas adalah :
- Pencarian Bagi dua (Binary Search)
Syarat : Data harus terurut
Salah satu keuntungan data yang terurut adalah memudahkan pencarian, yang dalam hal ini adalah pencarian bagi dua. Sebenarnya dalam kehidupan sehari-hari kita sering menerapkan algoritma ini. Untuk mencari kata tertentu dalam kamus (misalnya kamus bahasa Inggris), kita tidak membuka kamus tersebut dari halaman awal sampai halaman akhir satu persatu, namun kita mencarinya dengan cara membelah atau membagi halaman-halaman buku tersebut. Begitu seterusnya sampai kita menemukan kata yang dicari.
Contoh programnya adalah :
#include <iostream>
#include <conio.h>
main () {
int angka[‘n’];
int n, kiri, kanan, tengah, temp, key;
bool ketemu = false;
cout<<“\n==========================================\n”<<endl;
cout<<” BINARY SEARCHING”<<endl;
cout<<“\n==========================================\n”<<endl;
cout<<“\n\n”;
cout<<“Masukan jumlah data : “;
cin>>n;
cout<<endl;
for(int i=0; i<n; i++)
{
cout<<“Angka ke — [“<<i<<“] : “;
cin>>angka[i];
}
for (int i=0; i<n; i++){
for(int j=0; j<n-i-1; j++){
if(angka [j] > angka [j+1])
{
temp=angka[j];
angka[j]=angka[j+1];
angka[j+1]=temp;
}
}
}
cout<<“\n\n”;
cout<<“Data yang telah diurutkan adalah: “;
for(int i=0; i<n; i++)
{
cout<<angka[i]<<” “;
}
cout<<“\n\n”;
cout<<endl;
cout<<“PENCARIAN DATA”;
cout<<“\n Masukan angka yang dicari : “;
cin>>key;
kiri=0;
kanan=n-1;
while(kiri<=kanan)
{
tengah=(kiri + kanan)/2;
if(key == angka[tengah])
{
ketemu=true;
break;
}
else if (key < angka [tengah])
{
kanan = tengah -1;
}
else
{
kiri = tengah +1;
}
}
if (ketemu == true)
cout<<“Angka ditemukan!”;
else
cout<<“Angka tidak ditemukan”;
cout<<endl;
cout<<“\n\n”;
cout<<“Tekan enter untuk keluar!!!!!!”<<endl;
getch();
}
Dan ini output dari program diatas adalah :
Selesai sudah pembahasan kita mengenai searching. Bagaimana sobat mengenai materi yang saya sampaikan,semoga membantu sobat semua dalam mengerjakan tugasnya. Semoga bermanfaat jangan putus asa untuk bercoding. Coding is fun.
DAPTAR PUSTAKA
https://www.belajarcpp.com/tutorial/cpp/sejarah-cpp/
https://aboutcprogramming.wordpress.com/2015/11/08/bahasa_pemrograman_c/
https://aboutcprogramming.wordpress.com/2015/11/09/bahasa_pemrograman_c_percabangan-pada-c/
https://aboutcprogramming.wordpress.com/2015/11/09/bahasa_pemrograman_c_perulanganlooping_pada_c/
https://aboutcprogramming.wordpress.com/2015/11/09/bahasa_pemrograman_c_array_dalam_c/
https://aboutcprogramming.wordpress.com/2015/12/09/pengertian-dan-contoh-sorting-di-dalam-c/
https://aboutcprogramming.wordpress.com/2015/12/09/searching-dalam-c/
10919001-M.Romi Purnama Setiawan
Program Studi Manajemen Informatika