Rabu, 31 Maret 2021

Cara Membuat Form Booking Hotel Dengan HTML

cara-membuat-form-booking-hotel-dengan-html

Form Booking Hotel HTML

Oke sahabat setia syarif soden, ketemu lagi nih di blog Syarif Soden. Pada kesempatan kali ini kita akan belajar membuat program Form Booking Hotel dengan HTML tanpa database, jadi program ini di khususkan bagi pemula yang baru kenal dengan HTML.

Transaksi dalam sebuah website adalah suatu kegiatan yang dilakukan oleh user yang dapat menimbulkan perubahan pada suatu data. Sebuah transaksi berfungsi untuk merekam segala perubahan data dan mencegah data dari kehilangan ataupun kerusakan, setelah transaksi selesai dilakukan, maka data tersebut biasanya disimpan disuatu database, tetapi di tutorial ini saya tidak menggunakan databse karen didalam program ini tidak ada tombol input.


Alat Yang Dibutuhkan Untuk Membuat Form Booking Hotel HTML

Berikut adalah alat / software yang harus dipersiapkan untuk membuat form booking hotel dengan HTML ini. 

Web Browser = (Mozila, Chrome, atau lainnya).

Text Editor = (Sublime, Notepad++, atau lainnya). 


Inputan Program Form Booking Hotel HTML

Program Form Booking Hotel ini bertemakan pemesanan sewa Hotel dan program tersebut memiliki beberapa inputan yaitu diantaranya.

Lokasi (input type Text)

Tanggal check in (date picker)

Tanggal check out (date picker)

Jumlah ruangan/Room (input type number)

Ruangan Untuk Dewasa/Adults (input type number)

Ruangan Untuk Anak-Anak/Kids (input type number)

silahkan kalian buka aplikasi teks editor kalian, Disini saya menggunakan teks editor Notepad++.setelah kalian membuka aplikasi teks editor selanjutnya buat file baru lalu masukkan kode dibawah ini.

Source Code Form Booking Hotel HTML

Simpan source code tersebut dengan nama file hote.html atau beri nama bebas yang penting akhiri dengan ekstensi atau format .html (ingat folder tempat menyimpan file hasil kodingan tadi ya sob).

cara-membuat-form-booking-hotel-dengan-html

Untuk mengetesnya kalian bisa cari file hasil kodingan tadi lalu klik kanan pada file itu dan klik open as, selanjutnya pilih google chrome.

jika kalian ingin merubah gambar pada backgroun silahkan ganti link background-image pada kode css  dengan link foto kalian.

Oke, mungkin itu dulu yang bisa sya bagikan malam ini. Dan mulai dari sekarang, mungkin saya bakal sering berbagi sedikit ilmu tentang HTML, kalo ada pertanyaan, saran, dan masukan bisa tulis via komentar di bawah ini.

Senin, 25 Januari 2021

11 Aplikasi Coding Terbaik di Perangkat PC dan Laptop

11 Aplikasi Coding Terbaik di Perangkat PC dan Laptop

Aplikasi coding yang dibutuhkan para programmer untuk menciptakan sebuah aplikasi umumnya berisi barisan kode program. Semakin lengkap barisan kode tersebut, maka aplikasi yang dihasilkan pun semakin maksimal. Dengan aplikasi coding, programmer bisa menyusun barisan kode tersebut hingga membentuk aplikasi baru yang diinginkan.

Beragam aplikasi coding pun hadir dengan spesifikasi yang berbeda-beda. Ada yang memiliki fitur sederhana, ada pula yang punya fitur lengkap, bahkan ada juga yang menyediakan bermacam-macam plugin tambahan. Programmer biasanya memilih aplikasi coding yang mengusung bahasa pemrograman yang sesuai dan lengkap.

Tetapi, yang terpenting adalah, aplikasi tersebut harus sesuai dengan spesifikasi sistem operasi PC yang mereka gunakan. Terlebih, jika aplikasi coding itu cukup ringan, kompatibel (mampu digunakan pada segala sistem operasi) dan dapat terintegrasi dengan program lain, pasti sangat disukai oleh para programmer. Berikut adalah deretan aplikasi coding di PC yang bisa Kalian gunakan versi Syarif Soden

1. Code Blocks

Code Blocks adalah suatu aplikasi pemrograman lingkungan pengembangan terpadu bebas, nirlaba, bersumber terbuka dan lintas platform. Program yang ditulis dalam C++ beserta Widgets untuk GUI-nya ini bisa digunakan bersama dengan berbagai macam kompilator, contohnya GCC dan Visual C++. Peralatannya yang tersedia tergantung dari "plugin" yang dipasang. Sekarang ini.

Code::Blocks lebih tersedia sebagai perangkat pengembangan dalam bahasa C dan C++, walaupun program ini juga bisa disesuaikan, dan mungkin akan membutuhkan pemasangan tambahan, untuk pengembangan perangkat lunak ARM, AVR, DirectX, FLTK, Fortran, GLFW, GLUT, GTK+,Irrlicht, Lightfeather, MATLAB, dll. Code::Blocks tersedia di sistim operasi Windows 98 keatas, Linux, Mac OS X dan FreeBSD.

2. Dev C++

Dev C++ merupakan sebuah aplikasi pemrograman C / C++ yang sudah dilengkapi dengan TDM-GCC Compiler (bagian dari GNU Compiler Collection / GCC). Dibawah ini kalian bisa men download Dev C++ Terbaru. Dev-C++ merupakan Compiler C++ gratis dan full featur yang didistribusikan dibawah lisensi GNU General Public License untuk pemrograman C dan C++. seperti yang sudah disebutkan diatas IDE merupakan Lembar kerja terpadu untuk pengembangan program.

3. Delphi

Delphi adalah sebuah aplikasi pemrograman dan lingkungan pengembangan perangkat lunak. Kata Delphi sendiri berasal dari bahasa Yunani yang berarti kuil yang dibangun untuk menyembah Dewa Apollo, salah satu Dewa yang disegani oleh orang-orang Yunani selain Dewa-Dewa lain seperti Jupiter, Titan dan lain sebagainya. Delphi awalnya sebuah proyek penelitian rahasia di Borland yang berevolusi menjadi sebuah produk yang disebut AppBuilder.

4. Netbeans

NetBeans merupakan aplikasi pemrograman Open-Source yang berarti sebuah software  untuk aplikasi desktop Java dan sebuah lingkungan pengembangan terintegrasi sumber terbuka (IDE) untuk pengembangan dengan Java, PHP, C++, dan bahasa pemrograman lainnya. NetBeans juga disebut sebagai Platform Of Modular Components yang digunakan untuk mengembangkan aplikasi desktop Java.

Software NetBeans ini dapat  berjalan pada berbagai macam platform seperti windows, linux, Mac OS X dan Solaris. NetBeans IDE ini merupakan aplikasi perangkat lunak yang menyediakan Graphic User Interface (GUI), kode editor atau text, compiler, dan debugger.

5. Android Studio

11 Aplikasi Coding Terbaik di Perangkat PC dan Laptop

Android Studio adalah aplikasi pemrograman resmi untuk pengembangan aplikasi Android, yang didasarkan pada IntelliJ IDEA . Selain sebagai editor kode dan fitur developer IntelliJ yang andal, Android Studio menawarkan banyak fitur yang meningkatkan produktivitas Anda dalam membuat aplikasi Android, seperti:

  • Sistem build berbasis Gradle yang fleksibel
  • Emulator yang cepat dan kaya fitur
  • Lingkungan terpadu tempat Anda bisa mengembangkan aplikasi untuk semua perangkat Android
  • Terapkan Perubahan untuk melakukan push pada perubahan kode dan resource ke aplikasi yang sedang berjalan tanpa memulai ulang aplikasi
  • Template kode dan integrasi GitHub untuk membantu Anda membuat fitur aplikasi umum dan mengimpor kode sampel
  • Framework dan alat pengujian yang lengkap
  • Alat lint untuk merekam performa, kegunaan, kompatibilitas versi, dan masalah lainnya
  • Dukungan C++ dan NDK
  • Dukungan bawaan untuk Google Cloud Platform, yang memudahkan integrasi Google Cloud Messaging dan App Engine

6. Sublime Text

11 Aplikasi Coding Terbaik di Perangkat PC dan Laptop

Aplikasi coding yang satu ini cukup kompatibel karena dapat digunakan pada Windows, Mac, maupun Linux. Namun, di antara ketiganya, Linux-lah sistem operasi yang paling cocok dengan aplikasi “Sublime Text”. Selain memiliki performa yang maksimal dan tampilan yang beragam namun tetap sederhana, “Sublime Text” cukup ramah pada berbagai pengembangan.

Aplikasi ini juga bisa kalian gunakan secara gratis dengan jangka waktu tertentu. Sedangkan untuk mendapatkan fitur yang lengkap seperti fitur instant project switch, customize anything, goto anything, command palette, multiple selections, distraction free mode, split editing dan plugin API disertai pula lisensi aplikasi, kalian harus mengeluarkan biaya berkisar 70 US Dollar.

“Sublime Text” cukup mudah digunakan, sekali pun pada perangkat dengan resource yang terbatas. Aplikasi yang memiliki banyak plugins ini sangat cocok bagi programmer, khususnya web developer.

7. Visual Code Studio

11 Aplikasi Coding Terbaik di Perangkat PC dan Laptop

Aplikasi coding yang juga besutan dari Windows ini mengusung tampilan sederhana namun menarik. “Visual Code Studio” dapat dengan mudah kalian peroleh secara berbayar maupun gratis.

Meskipun tak perlu mengeluarkan biaya, fitur yang dihadirkan cukup bersaing, seperti keyboard shortcut, melengkapi barisan kode secara otomatis, menggunakan mode Zen untuk menyembunyikan menu dan ikon dan lain-lain.

Selain itu, aplikasi coding yang mendukung bahasa pemrograman C# ini kini sudah mampu menunjang bahasa program yang lebih banyak. Termasuk adanya perintah spesial yang dapat menavigasi antara fitur satu dengan fitur lainnya.

Sehingga, aplikasi coding ini bisa memudahkan programmer karena mereka meneliti dan mencari sendiri kesalahan pada barisan code dengan mengintegrasi Git dan debugging. 

8. Notepad++

11 Aplikasi Coding Terbaik di Perangkat PC dan Laptop

Aplikasi coding ini cukup familiar di telinga programmer. Pasalnya, ini adalah aplikasi bawaan Windows yang dikembangkan dari Notepad. Meskipun begitu, aplikasi ini dapat didistribusikan sebagai perangkat lunak bebas yang dapat ditambahkan banyak plugins. “Notepad++” dikenal dengan tampilan jendela tab, sehingga kalian dapat membuka beragam file dalam satu waktu.

Selain itu, aplikasi coding ini memiliki beragam fitur canggih seperti text-shortening, macro recording, shortcut customization, auto-completion dan masih banyak lagi. “Notepad++” yang dapat kalian peroleh secara gratis ini memiliki GUI dan berbagai bahasa pemrograman antara lain Assembly, C, Perl, PHP, Python, C++, Java, Javascript, C#, CSS, HTML, Pascal, Ruby, Shell, SQL, VB dan XML

9. Vim

11 Aplikasi Coding Terbaik di Perangkat PC dan Laptop

Aplikasi pemrograman ini lebih banyak digunakan oleh programmer yang menggunakan sistem operasi Linux. Dengan menggunakan aplikasi coding yang memiliki tampilan sederhana dari Command Line Interface ini, kalian dapat melakukan segala hal meskipun hanya berbekal keyboard atau pun shortcut.

Ditambah dengan performa kecepatan yang baik, aplikasi coding ini didukung dengan berbagai fitur, antara lain mengubah teks, menghapus baris, memindah baris, membuka hingga mengubah barisan. Terlebih, “Vim” dirancang agar menghadirkan beragam bahasa pemrograman yang lengkap seperti bash script, C dan PHP. 

10. Atom

11 Aplikasi Coding Terbaik di Perangkat PC dan Laptop

Aplikasi coding milik GitHub ini mendukung banyak bahasa dan dilengkapi dengan tampilan yang menarik. Aplikasi yang terdapat pada Windows, Mac OS dan Linux ini bisa dikatakan modular (program yang cukup besar dibagi-bagi menjadi beberapa bagian yang lebih kecil sehingga mudah dipahami dan dapat digunakan kembali).

Karena, kalian dapat dengan mudah menambahkan fitur lainnya dengan menginstall plugins yang tersedia pada aplikasi “Atom” ini. Beberapa fitur yang dimiliki aplikasi coding satu ini diantaranya teknologi web based, fuzzy finder, TextMate grammars, integrasi dengan Node.js, fast project-wide dan file system browser.

Karena banyaknya fitur yang tersedia, diperlukan resource yang cukup besar untuk menggunakan “Atom”. 

11. UltraEdit

11 Aplikasi Coding Terbaik di Perangkat PC dan Laptop

Aplikasi “UltraEdit” dapat digunakan pada beragam sistem operasi meliputi Windows, Linux dan Mac OS. Aplikasi coding ini hadir dengan berbagai fitur lengkap, antara lain multiline find dan replace, disk based text editing, 64 bit file handling, spell checker, unicode support, hingga large file handling.

Namun, untuk mendapatkan itu semua kalian harus memiliki lisensi aplikasi coding ini terlebih dahulu. Jika Anda tidak masalah dengan hal tersebut, silakan langsung klik link ini.

Dengan semua aplikasi yang saya rekomendasikan tadi, kalian bisa melakukan coding dengan mudah dan lancar tanpa hambatan karena setiap aplikasinya punya fitur yang lengkap. Tidak hanya lengkap, fitur-fitur tersebut juga bisa disesuaikan dengan kebutuhan kalian dan bahkan bisa digunakan untuk OS apapun! Punya aplikasi coding favorit? Beritahu saya dan pembaca lain melalui kolom komentar, ya sob.

Minggu, 18 Oktober 2020

Cara Membuat Program C++ Menggunakan Code Blocks (Lengkap Penjelasan)

hello world c++

Untuk kalian yang baru pertama kali mempelajari pemrograman c++ dan mau mempraktekkannya tentu akan bingung. Biasanyauntuk awal-awal kalian akan disuruh membuat program Helo World C++, nah pada kesempatan kali ini saya akan membuatkan tutorialnya menggunakan IDE Code Blocks.

Hello world (Halo dunia) merupakan istilah yang populer di dunia pemrograman, biasanya istilah ini / program ini merupakan istilah / program yang pertama kali diajarkan saat belajar pemrograman. program ini sangat sederhana, yang berfungsi menampilkan teks "Hello World!" / "Hello World" di layar. Biasanya program ini dipakai sebagai dasar sebelum membuat program yang di inginkan / yang lebih rumit. Istilah "Hello World" mulai dikenal luas melalui buku yang ditulis oleh Brian Kernighan dan Dennis Ritchie dengan judul "The C Programming Language", sehingga banyak anggapan bahwa Hello world pertama kalinya dipakai pada bahasa C untuk menunjukkan kemampuan bahasa tersebut.

Berikut ini adalah contoh cara membuat Program Hello World dalam bahasa pemrograman C++ dengan menggunakan IDE Code Block. Pada program ini saya menggunakan Tanda Double Slash ( // ) untuk memberikan komentar pada program yang saya buat agar sobat bisa lebih memahami program tersebut.

Tanda Double Slash ( // ) sendiri merupakan tanda untuk memberikan komentar pada sebuah program, sehingga semua kalimat yang ditulis pada baris tersebut akan diabaikan atau tidak dieksekusi oleh program.

Cara membuat Program Hello World di C++ menggunakan Code Blocks

  • Buka Aplikasi Code Block yang sudah terinstal di laptop atau pc kalian
  • Buat program baru dengan cara : File - New – Empty File atau klik ikon New – Empty File atau gunakan CTRL + Shift + N
  • Ketik source code programnya seperti dibawah ini

#include <iostream>

using namespace std;

int main ()

{

     // Untuk menampilkan tulisan Hello World ke Layar

     cout<<"Hello World";

     return 0;}

  •  Setelah menulis souce nya, tekan Compile & Run
  • Maka akan muncul dialog untuk menyimpan program buatan sobat. Beri nama sesuka sobat. Misal "Hello World" kemudian save dengan Ekstensi atau akhiran ".cpp" 
Jika Kalian Menggunakan nama Hello World berarti nanti saat kalian menyimpan filenya menjadi "Hello World.cpp"
  • Setelah itu klik Save, maka akan mucul jendela yang menampilkan hasil program Hello World yang telah sobat buat.

hello world c++

Selamat sobat telah berhasil membuat program Hello World pada bahasa pemrograman C++ dengan menggunakan Code Block

Penjelasan Source Code Program Hello World C++

1. #include <iostream>

Di baris pertama kita mengetikkan tulisan #include <iostream>. Artinya baris Preprocessor yang melampirkan file header (library) iostream ketika program dicompile. Kode yang diawali dengan # merupakan sebuah Preprocessor. Preprocessor berfungsi memberitahukan compiler untuk melakukan sesuatu sebelum melakukan kompilasi.

Preprocessor #include akan memberitahukan kompiler untuk meng includekan library iostream, dimana library iostream pada Bahasa C++ berguna sebagai standar input output (Pada Bahasa C menggunakan stdio.h). Salah satu isi iostream adalah untuk menggunakan statement Cin, Cout dan Endl

2. using namespace std;

Baris ini memberitahukan kepada compiler bahwa program yang kita tulis menggunakan Standar C++ Library. Tujuan dari penulisan kode "using namespace std;" ialah untuk melakukan penulisan kode langsung tanpa menuliskan std:: , Hal ini disebabkan, pada iosteam C++ melakukan pembungkusan semua fungsi input output dalam namespace std.

3. int main() { ... }

Kode ini menyatakan pembuatan sebuah fungsi utama (fungsi main). Semua program yang ditulis menggunakan bahasa C/C++ harus mempunyai sebuah main (fungsi utama). main adalah kode / fungsi awal yang akan dieksekusi ketika program dijalankan, hal ini berarti bahwa untuk memanggil / menjalankan fungsi lain, fungsi lain tersebut harus dipanngil melalui fungsi main(). tulisan int didepan "main" dinamakan "return type“ dimana tipe return / keluaran nya berupa nilai integer.

Kemudian simbol "{" dan "}" menandakan sebuah scope dalam code dimana isi scopenya adalah isi dari fungsi main(). Jadi ketika fungsi main() dipanggil maka isi yang ada pada scope lah yang dieksekusi.

4. cout<<"Hello World";

Merupakan sebuah statement dalam C++. statement inilah yang berpengaruh terhadap hasil eksekusi program. Statement pada contoh ini (cout) menyatakan bahwa cetak tulisan “HelloWorld” pada tampilan. "cout" bisa berjalan karena terdapat file header / library "iostream". Sobat dapat membuktikannya dengan menghilangkan "#include <iositream>" dan lihat apa yang terjadi ?

5. return 0;

Menyatakan hasil keluaran dari fungsi int main() ialah 0. Dalam C++, return 0 dalam int main() dapat diartikan bahwa program berakhir dengan normal.

Membuat Hello World dalam beberapa bahasa Pemrograman

Pada saat pertama kali belajar sebuah bahasa pemrograman, biasanya kita akan diajarkan bagaimana cara membuat program untuk menampilkan / mencetak kata "Hello World". Jika berhasil berarti kita sudah sampai pada tahap pertama dalam mempelajari bahasa tersebut. Tinggal selanjutnya melangkah untuk menguasai fungsi-fungsi lainnya. Pada kesempatan kali ini kita juga akan menunjukkan bagaimana cara membuat Hello World pada beberapa bahasa pemrograman.


1. Membuat Hello World dalam Bahasa C

#include <stdio.h>

int main()

{

     printf("Hello World");

     return 0;


2. Membuat Hello World dalam Bahasa C++

#include <iostream>

using namespace std;

int main () {

 cout<<"Hello World";

 return 0;

}


3. Membuat Hello World dalam Bahasa Java

public class HelloDunia{

     public static void main(String args[]) {

          System.out.println("Hello World");

     }

}


4. Membuat Hello World dalam Bahasa LISP

(print "Halo dunia")


5. Membuat Hello World dalam Bahasa PHP

<?php echo "Halo dunia"; ?>


Sekian Artikel mengenai Membuat Hello World di C++ menggunakan code blocks Lengkap dengan Penjelasan, semoga artikel ini dapat bermanfaat bagi sobat baik untuk menambah ilmu, mengerjakan tugas, maupun untuk sekedar menambah wawasan tentang Membuat Hello World di C++, Penjelasan Program Hello World di C++ maupun Membuat Hello World dalam beberapa bahasa Pemrograman.


Jumat, 26 Juni 2020

Algoritma Pengurutan ( Sorting)

Algoritma Pengurutan ( Sorting)

Adanya kebutuhan terhadap proses pengurutan memunculkan bermacam-macam algoritma pengurutan. Ada banyak algoritma pengurutan yang telah ditemukan. Hal ini menunjukan bahwa persoalan pengurutan adalah persoalan yang kaya dengan solusi algoritma. Beberapa Algoritma pengurutan yang sudah dikenal antara lain Bubble Sort, Selection Sort, Insertion Sort, Heap Sort, Shell Sort, Quick Sort, Merge Sort, Radix Sort, Tree Sort, Dan Lain sebagainya.

Tidak semua algoritma pengurutan akan saya bahas di artikel kali ini, tetapi cukup beberapa algoritma pengurutan yang sederhana yang perlu diketahui saja oleh orang yang belajar pemrograman dasar.

Di artikel kali ini saya akan membahas beberapa algoritma pengurutan saja, yaitu:

  1. algoritma pengurutan apung ( Bubble Sort).
  2. algoritma pengurutan seleksi ( Selection Sort).
  3. algoritma pengurutan sisip ( Insertion Sort).
Dua algoritma pengurutan pertama yaitu; bubble sort dan selection sort melakukan prinsip pertukaran elemen dalam proses pengurutannya sehingga keduanya dinamakan pengurutan dengan pertukaran ( exchange sorts), sedangkan algoritma  Insertion Sort melakukan prinsip geser dan sisip elemen didalam proses pengurutannya ( shift and insert sorts). Semua algoritma pengurutan selalu melakukan operasi perbandingan elemen untuk menemukan posisi urutan yang tepat.


  1. Algoritma Pengurutan Apung ( Bubble Sort)
Algoritma pengurutan apung ( Bubble Sort) diinspirasikan oleh gelembung sabun yang berada diatas permukaan air. Karena berat jenis gelembung sabun lebih ringan daripada berat jenis air, maka dari itu gelembung sabun selalu terapung diatas air. Secara umum, benda-banda yang berat akan terbenam dan benda-benda yang ringan akan terapung keatas permukaan air.

Mekanisme kerja Algoritma Bubble Sort adalah sebagai berikut:

  1. membandingka data ke-1 dengan data ke-2, jika ke-1 lebih besar, maka kedua data ditukar.
  2. kemudian membandingkan data ke-2 dengan data ke-3, jika data ke-2 lebih besar, kedua data ditukar.
  3. demikian seterusnya sampai data terakhir, sehingga data kedudukannya akan bergeser-geser.
Contoh Program Bubble Sort C++ :

Contoh Program Bubble Sort

#include <iostream>
#include <conio.h>
using namespace std;
    int data[8], data2[8];
    int n;

int tukar (int a,int b){
    int t;
    t=data[b];
    data[b]=data[a];
    data[a]=t;
}

int input(){
    cout<<"Masukan Jumlah Data = ";
cin>>n;

cout<<endl;

    for (int i=0;i<n;i++){
    cout<<"Masukan Data Ke-"<<i+1<<" = ";
    cin>>data[i];

    data2[i]=data[i];
}
cout<<endl;
}

int tampil(){
for (int i=0;i<n;i++){
     cout<<"["<<data[i]<<"] ";
}
cout<<endl;
}

int bubble_sort(){
for (int i=1; i<n;i++){
for (int j=n-1; j>=i;j--){
if (data[j]<data[j-1]){
tukar(j,j-1);
}
}
tampil();
}
cout<<endl;
}


int main()
  {
  cout<<"ALGORITMA BUBBLE SORT"<<endl;
  cout<<"----------------------"<<endl;
input();
cout<<"Proses Bubble Sort"<<endl;
tampil();
bubble_sort();
  getch();
  }
 
Hasil Output Program Bubble Sort:

Contoh Program Bubble Sort C++


      2. Algoritma Pengurutan Seleksi ( Selction Sort )

Algoritma ini disebut pengurutan seleksi ( Selection Sort ) karena gagasan dasarnya adalah memilih elemen maksimum atau minimum dari larik, lalu menempatkan elemen tersebut pada awal atau akhir larik. Selanjutnya elemen terujung tersebut diisolasi dan tidak disertakan pada proses selanjutnya. Proses yang sama diulang untuk elemen-elemen larik yang tersisa.

Mekanisme kerja Algoritma Selection Sort:

  1. Variabel index diberinilai 1 kemudian data index dibandingkan dengan data ke-2. Jika data index lebih besar maka nilai indexnya diganti dengan 2, jika tidak nilai indexnya tetap. Kemudian data index dibandingkan lagi dengan data yang ada seterusnya.
  2. Variabel index diberi nilai 2 kemudian data index dibandingkan dengan data ke-3. Jika data index lebih besar maka nilai indexnya diganti dengan data 3. Kemudian data index dibandingkan lagi dengan data ke-4.
  3. Demikian untuk proses selanjutnya dimana banyak prosesnya adalah jumlah elemen array dikurangi 1.
Contoh Program Selection Sort C++:

Contoh Program Selection Sort C++

#include<iostream>
using namespace std;

int main()
{   int a,b,c,d,e;
    b=6;
    int f[6];
    cout<<"SELECTION SORT BY Syarifsoden.BLOGSPOT.COM"<<endl;
    cout<<"mengurutkan nilai dari besar ke kecil"<<endl<<endl;
    for(a=0;a<b;a++)
    {
        cout<<"Masukkan nilai: "<<a+1<<" : ";cin>>f[a];
    }
    for(a=0;a<b-1;a++)
    {
    c=a;
        for(d=a+1;d<b;d++)
        {
            if(f[c]<f[d])
            {
                c=d;
            }
        }
        e=f[c];
        f[c]=f[a];
        f[a]=e;
    }
    cout<<"\n setelah diurutkan akan menjadi: \n";
    for(a=0;a<b;a++)
    {
        cout<<f[a]<<" \n";
    }
}

Hasil Output Program Selection Sort:

Program Selection Sort


      3. Algoritma Pengurutan Sisip (Insertion Sort)

Pengurutan sisip ( Insertion Sort ) adalah algoritma pengurutan dengan cara menyisipkan elemen larik pada posisi yang tepat. Pencarian posisi yang tepat dilakukan dengan cara menyisir larik. Selama penyisiran dilakukan pergeseran elemen larik. Algoritma pengurutan sisip cocok untuk persoalan menyisipkan elemen baru ke dalam sekumpulan elemen yang sudah terurut.


Cara kerja algoritma pengurutan sisip ( Insertion Sort)
  1. Pengurutan dimulai dari data ke-2 sampai data terakhir.
  2. Jika ditemukan data yang lebih kecil atau lebih besar, maka akan ditempatkan ( diinsert) diposisi yang seharusnya.
Contoh program Insertion Sort C++:

program Insertion Sort C++


#include <iostream>
using namespace std;

int main(){
int z;
cout<<"masukan banyak array: ";
cin>>z;
int y[z];
for(int i=0; i<z; i++){
cout<<"masukan angka ke "<<i<<" :";
cin>>y[i];
cout<<endl;
}
for(int i=1; i<z; i++){
int key = y[i];
int j = i-1;
while(j>=0 && y[j] > key){
y[j+1] = y[j];
j--;
}
y[j+1] = key;
cout<<"proses sorting"<<endl;
for(int m=0;m<z;m++){
cout<<y[m]<<" ";
    }
    cout<<endl;
}
cout<<"hasil akhir"<<endl;
for(int m=0;m<z;m++){
cout<<y[m]<<" ";
}
}

Hasil Output Program Insertion Sort C++:
 
Program Insertion Sort C++

Program Insertion Sort C++



Kamis, 25 Juni 2020

Tutorial Belajar C++ Di Windows Untuk Pemula

Tutorial Belajar C++ Di Windows Untuk Pemula

Sebelum kita ke Tutorial Belajar C++ Di Windows Untuk Pemula, kita haru mengenal dulu apa itu Bahasa pemrograman C++, Fungsi dari C++ dan juga aplikasi apa saja yang sudah dibuat dengan bahsa pemrograman C++ ini.

Pengertian Bahasa Pemrograman C++

C++ adalah bahasa pemrograman yang berorientasi objek, dimana untuk menyelesaikan sebuah masalah C++ melakukannya dengan menjelaskan class-class yang merupakan anak class sebagai abstraksi dari objek-objek fisik.

Class-class pada C++ berisi keadaan objek, anggota objek, dan kemampuan objek. Bahasa C++ juga merupakan bahasa turunan dari bahasa C.

Adapun bahasa C merupakan bahasa yang prosedural yaitu untuk membuat prosedur dalam menyelesaikan sebuah masalah. Jadi apa itu C++?

Jadi jika disimpulkan Bahasa pemrograman C++ memiliki dua konsep yaitu Data dan Algoritma. Data pada C++ merupakan bahan yang akan diolah sedangkan Algoritma merupakan metode dalam pengolahannya.

Bahasa Pemrograman C++ adalah bahasa pemrograman yang berorientasi pada objek, dengan konsep data, algoritma dan type data.

Apa Fungsi Dari C++
Jika anda bertanya kegunaan sebenarnya dari C++, tentu sangat banyak. Berikut beberapa contoh dari sekian banyak yang ada

Pengembangan Game, dengan kemampuan C++ dalam mengoptimisasi memory dan manajemen jaringan komputer. C++ memberikan kemampuan penuh untuk dapat mengembangkan permainan yang sangat bermacam-macam. Contohnya Doom 3, Starcraft, Batman Arkham City, Gears of wars 3 dll.

Aplikasi Desktop, dengan adanya pengembangan yang sangat pesat dibandingkan bahasa C, dimana bahasa C++ mendukung pemrograman berbasis objek, selain itu C++ juga dilengkapi berbagai pustaka GUI yang sangat kuat. Beberapa contoh aplikasi yang dikembangkan C++ yaitu Image Ready, Adobe Premiere, Photoshop, dan masih banyak lagi.

Aplikasi Web, C++ memang sangat jarang digunakan pada platform website karena memang sudah sangat banyak bahasa pemrograman lainnya yang lebih mudah dan lebih cepat untuk pengembangan web. Namun masih ada beberapa framework web dengan bahasa C++ seperti TreeFrog dan Cutelyst untuk pengembangan web yang lebih mudah. Tak lupa juga Mozilla Firefox dan Thunderbird dibangun menggunakan bahasa pemrograman ini juga.

Aplikasi Grafik dan Visualisasi, setelah beberapa yang saya sebutkan diatas, C++ juga sangat kuat dalam pengembangan aplikasi pemodelan ataupun simulasi seperti Maya3D.

Aplikasi Database, dengan kemampuan yang sangat luas dalam manajemen memori dan sumber daya tentunya C++ juga banyak digunakan dalam pengembangan aplikasi database. Contohnya MySQL, MemSQL, MongoDB, dan SQL Server.

Sistem Operasi, pastinya C++ juga digunakan dalam pengembangan OS X milik Apple, Microsoft Windows, dan bahkan Symbian

Compiler, tentunya disinilah berbagai bahasa pemrograman pada akhirnya dapat diubah menjadi aplikasi yang dapat digunakan.

Mengapa C++ sangat banyak digunakan ? Beberapa alasan yang kuat adalah bahasa ini mendukung Manajemen Memory secara langsung dan juga telah mendukung Pemrograman Berbasis Objek dimana bahasa C belum bisa lakukan.

Tapi memang seperti yang sudah banyak orang ketahui kalau bahasa C++ tidak cukup mudah dipelajari karena bahasa c++ ini termasuk ke dalam bahasa pemrograman tingkat tinggi. Dimana kita harus memanajemen memori dan proses yang kita gunakan dengan benar dan hati-hati. Namun, dengan begini bahasa ini sangat cocok dipelajari oleh siswa/mahasiswa sebagai pondasi belajar ilmu pemrograman. Dengan begitu anda dapat membuat program dengan lebih optimal.

Aplikasi Yang Sudah Dibuat Menggunakan C++
Ada banyak sekali aplikasi yang dibuat dengan C++, dibawah ini saya sebutkan beberapa aplikasi yang saya tahu saja.

Winamp Media Player.
MySQL Server.
Mozilla Firefox.
Thunderbird.
Google Chrome.
Microsoft Office.
Adobe Photoshop.
Adobe Illustrator.
Java Virtual Machine (JVM).
Desktop Environment: KDE.
Desktop Environment: Apple MacOS UI (Aqua).
dan masih banyak lagi

oke selanjutnya kita masuk ke pembahasan utama. Yaitu, Tutorial Belajar C++ Di Windows Untuk Pemula.

Untuk bisa mempraktikan pembuatan program sederhana menggunakan bahasa pemrograman c++ ini kalian wajib mempunyai software IDE sekaligus compilator C++ dan juga teks editor.

Kalian bisa menggunakan Code Block atau Dev C++ untuk mempraktikan kode kode yang akan saya berikan nanti.

Tapi, sebelum kita ke koding nya kita harus tahu perintah dasar C++ dulu, berikut adalah perintah dasar c++ yang wajib kalian ketahui.

Struktur Dasar Program C++
Bentuk atau struktur dasar program yang dibaut dengan C++ terdiri dari tiga bagian yaitu:

Bagian include
Bagian namespace
Bagian fungsi

1. Bagian Deklarasi Include
Pada bagian ini, kita mendefinisikan library (pustaka) apa saja yang akan kita gunakan di dalam program.

Library bisa kita anggap sebagai program lain yang ingin kita gunakan di dalam program kita. Library ini berisi fungsi-fungsi untuk melakukan input dan output.

Kadang kita juga akan menemukan library yang di-include dengan ekstensi .h, .cpp, .hpp, .cc, .c, dsb.
Contoh:

#include <math.h>
#include <signal.h>
#include <time.h>
#include "hello.h"

Semua memiliki arti yang sama, yaitu: gunakan library yang lain ke dalam program ini.
Perbedaanya pada jenis file yang akan diimpor:

.h artinya header file dari C atau C++.
.cpp artinya source code dari C++.
.hpp artinya header file dari C++.
.cc dan .c artinya header file dari C.
Lalu perbedaan yang lain tedapat pada simbol yang digunakan untuk include.

Jika menggunakan tanda kurung siku <...> maka program akan mencari library ke dalam sistem komputer kita.

Sedangkan yang menggunakan tanda petik, akan mencari ke lokasi yang ditentukan di sana.
Contoh:
#include "/home/soden/hello.h"
Maka program akan mencari library ke dalam direktori /home/ssoden/.

2. Bagian Deklarasi Namespace
Bagian ini sebenarnya bersifat opsional, bisa ditulis dan bisa tidak.
Apabila kita tidak menggunakan namespace std, maka untuk menggunakan fungsi cin dan cout yang ada pada library iostream harus diawali dengan std::.
Seperti ini:

std::cout << "Hello World!" << endl;
std::cout << "Belajar C++!" << endl;
Jika tidak ingin menulis std:: terus-menerus, maka gunakanlah namespace std.

3. Bagian Fungsi
Bagian ini adalah baigan terpenting dalam pemrograman C++, di sinilah kita akan banyak menulis kode program.

Misalnya Fungsi main() adalah fungsi yang akan dieksekusi pertamakali saat program dibuka.
Fungsi ini wajib ada di setiap program yang dibuat untuk dieksekusi.

Tapi Jika hanya membuat program yang berfungsi sebagai library saja, fungsi main() boleh tidak dibuat.

Selain fungsi main() kita juga bisa membuat fungsi yang lain pada bagian ini.
Contoh:
#include <iostream>
using namespace std;

int main(){
   cout << "Hello world!" << endl;
   return 0;
}

void hello(){
   cout << "Hello apa kabar?" << endl;
}

Pada contoh di atas kita membuat fungsi hello() di bawah fungsi main().
Tapi kita tidak boleh menuliskannya di dalam fungsi main seperti ini:

#include <iostream>
using namespace std;

int main(){
   cout << "Hello world!" << endl;
   void hello(){
      cout << "Hello apa kabar?" << endl;
   }
   return 0;
}

2. Penulisan Statement dan Ekspresi
Statemen dan ekspresi adalah perintah-perintah yang ditulis di dalam fungsi.
Contoh:

#include <iostream>
using namespace std;

int main(){
   cout << "Hello world!" << endl;
   cout << "Saya belajar c++" << endl;
   cout << "Belajar C++ itu mudah";
   return 0;
}
Perhatikan baris-baris ini:
cout << "Hello world!" << endl;
cout << "Saya belajar c++" << endl;
cout << "Belajar C++ itu mudah";
return 0;

Ini adalah statement dan ekspresi. Penulisan statement dan ekspresi wajib diakhiri dengan titik-koma (;).
Apabila tidak ada titik-koma, maka program akan error.

Setelah kalian tahu perintah dasar c++ berikut saya sudah menyiapkan beberapa contoh program c++ dan penjelasannya.


  1. Program C++ Konversi Angka Menjadi Bilangan

Program C++ Konversi Angka Menjadi Bilangan
Syntax C++:

#include <iostream>
#include <conio.h>
#include <stdlib.h>
using namespace std;
void satuan (int a)
{
if (a==1) {cout<<" Satu ";}
else if (a==2) {cout<<" Dua ";}
else if (a==3) {cout<<" Tiga ";}
else if (a==4) {cout<<" Empat ";}
else if (a==5) {cout<<" Lima ";}
else if (a==6) {cout<<" Enam ";}
else if (a==7) {cout<<" Tujuh ";}
else if (a==8) {cout<<" Delapan ";}
else if (a==9) {cout<<" Sembilan ";}
else if (a==10) {cout<<" Sepuluh ";}
else if (a==11) {cout<<" Sebelas ";}
}
void terbilang (long long b)

{if (b<=11) {satuan(b);} else if ((b>11) && (b<=19))
{terbilang(b%10); cout<<"Belas ";}   else if ((b>=20)&&(b<=99))
{terbilang(b/10); cout<<"Puluh "; terbilang(b%10);} else if ((b>=100)&&(b<=199))
{cout<<"Seratus "; terbilang(b%100);} else if ((b>=200)&&(b<=999))
{terbilang(b/100); cout<<"Ratus "; terbilang(b%100);}   else if ((b>=1000)&&(b<=1999))
{cout<<"Seribu "; terbilang(b%1000);} else if ((b>=2000)&&(b<=9999))
{terbilang(b/1000); cout<<"Ribu "; terbilang(b%1000);} else if ((b>=10000)&&(b<=99999))
{terbilang(b/1000); cout<<"Ribu "; terbilang(b%1000);} else if ((b>=100000)&&(b<=999999))
{ terbilang(b/1000); cout<<"Ribu "; terbilang(b%1000);} else if ((b>=1000000)&&(b<=999999999))
{ terbilang (b/1000000); cout<<"Juta "; terbilang (b%1000000);} else if ((b>=1000000000)&&(b<=999999999999))
{ terbilang (b/1000000000); cout<<"Milyar "; terbilang (b%1000000000);} else if ((b>=1000000000000))
cout<<"Maaf ! Angka Yang Anda Masukan Salah!\n\n";
}

int main()
{
long double nilai;
cout<<"\t\t\t=====PROGRAM KONVERSI ANGKA KE HURUF=====\n";
cout<<"\n\n Input Angka: ";cin>>nilai;
cout<<"\n\n Hasil Konversi Bilangan: ";
terbilang(nilai);
}

Hasil Output Program Konversi Angka C++:

Program Konversi Angka C++


     2. Program Kalkulator Sederhana C++


Tutorial Belajar C++ Di Windows Untuk Pemula

Syntax C++:

#include <iostream>

#include <cstdlib>


using namespace std;


int main()

{


    float a,b;

    int kode;


    menu :

    cout << "Kalkulator Sederhana C++ \n";

    cout << "Pilihan Operator : \n";

    cout << "1.Operator (+)\n";

    cout << "2.Operator (-)\n";

    cout << "3.Operator (*)\n";

    cout << "Masukkan Kode Operator : ";cin >> kode;

    if (kode > 3 || kode < 1){

        cout << "\nKode yang anda masukkan tidak ada \nSilahkan masukkan ulang kode .";

        system("pause");

        system("cls");

        goto menu;

    }

    else {

        cout << "Operan 1 : ";cin >> a;

        cout << "Operan 2   : ";cin >> b;

        if (kode == 1){

cout << "\nHasil penjumlahan dari "<<a<<" + "<<b<<" adalah : "<<a+b<<endl;

        }

        else if (kode == 2){

            cout << "\nHasil pengurangan dari "<<a<<" - "<<b<<" adalah : "<<a-b<<endl;

        }

        else if (kode == 3){

            cout << "\nHasil perkalian dari "<<a<<" * "<<b<<" adalah : "<<a*b<<endl;

        }

    }

    return 0;

}


Hasil Output Program Kalkulator Sederhana C++:

Program Kalkulator Sederhana C++



Selasa, 23 Juni 2020

Download Code Blocks Compiler C++ || Download Compiler C++

Compiler C++

Code Blocks adalah adalah suatu program lingkungan pengembangan terpadu bebas, nirlaba, bersumber terbuka dan lintas platform. Program yang ditulis dalam C++ beserta Widgets untuk GUI-nya ini bisa digunakan bersama dengan berbagai macam kompilator, contohnya GCC dan Visual C++. Peralatannya yang tersedia tergantung dari "plugin" yang dipasang. Sekarang ini, Code::Blocks lebih tersedia sebagai perangkat pengembangan dalam bahasa C dan C++, walaupun program ini juga bisa disesuaikan, dan mungkin akan membutuhkan pemasangan tambahan, untuk pengembangan perangkat lunak ARM, AVR, DirectX, FLTK, Fortran, GLFW, GLUT, GTK+,Irrlicht, Lightfeather, MATLAB, dll. Code::Blocks tersedia di sistim operasi Windows 98 keatas, Linux, Mac OS X dan FreeBSD.

Code::Blocks bisa digunakan bersama dengan banyak kompilator lain, contohnya MinGW (GCC untuk Windows), Digital Mars, Visual C++, Borland C++, LLVM Clang, Watcom, LCC, dan Intel C++ Compiler. Walau sebenarnya lebih untuk C++, masih terdapat juga kompilator untuk bahasa pemrograman selain C++, contohnya GNU Fortran, Digital Mars D, dan GNU GDC. Dengan sistem "plugin"-nya Code::Blocks, penggunaan untuk bahasa-bahasa pemrograman lainnya juga bisa turut dipasang.

Integrated Development Environtment (IDE) adalah suatu aplikasi komputer yang digunakan untuk mengembangkan aplikasi berdasarkan bahasa pemrograman tertentu. IDE biasanya terdiri dari Graphical User Interface builder, text atau code editor, compiler atau interpreter, serta debugger.

Melalui bantuan compiler, program yang ditulis dalam bahasa pemrograman (seperti C++) diterjemahkan menjadi kode mesin sehingga bisa dijalankan oleh komputer. Sebelum me-release program yang dibuat, diperlukan proses debugging, yaitu melacak lokasi kesalahan (bug) pada program kemudian memperbaikinya. Alat untuk melakukan debugging dinamakan debugger. Dengan debugger memungkinkan programmer untuk menghentikan program yang sedang berjalan di titik-titik tertentu (breakpoint).

Contoh IDE untuk bahasa pemrograman C/C++ adalah Code::Blocks, Dev C++, Borland C++, Visual Studio, dan lain sebagainya.

Fitur Di Code Blocks

Highlights:

  1. Open Source! GPLv3, no hidden costs. 
  2. Cross-platform. Runs on Linux, Mac, Windows (uses wxWidgets). 
  3. Written in C++. No interpreted languages or proprietary libs needed. 
  4. Extensible through plugins 

Compiler Di Code Blok:

  1. Multiple compiler support: 
  2. GCC (MingW / GNU GCC) 
  3. MSVC++ 
  4. clang 
  5. Digital Mars 
  6. Borland C++ 5.5 
  7. Open Watcom and more 
  8. Very fast custom build system (no makefiles needed) Support for parallel builds (utilizing your CPU's extra cores) 
  9. Multi-target projects 
  10. Workspaces to combine multiple projects 
  11. Inter-project dependencies inside workspace Imports MSVC projects and workspaces (NOTE: assembly code not supported yet) 
  12. Imports Dev-C++ projects 

Debugger Di Code Block:

  1. Interfaces GNU GDB 
  2. Also supports MS CDB (not fully featured) 
  3. Full breakpoints support: 
  4. Code breakpoints 
  5. Data breakpoints (read, write and read/write) 
  6. Breakpoint conditions (break only when an expression is true) 
  7. Breakpoint ignore counts (break only after certain number of hits) 
  8. Display local function symbols and arguments 
  9. User-defined watches (support for watching user-defined types through scripting) 
  10. Call stack 
  11. Disassembly 
  12. Custom memory dump 
  13. Switch between threads 
  14. View CPU registers 

Interface Di Code Block: 
  1. Syntax highlighting, customizable and extensible 
  2. Code folding for C, C++, Fortran, XML and many more files. 
  3. Tabbed interface 
  4. Code completion 
  5. Class Browser 
  6. Smart indent 
  7. One-key swap between .h and .c/.cpp files 
  8. Open files list for quick switching between files (optional) 
  9. External customizable "Tools" 
  10. To-do list management with different users 
Tampilan CODE BLOCKS

Code Blocks

Plugin
Code :: Block dirancang di sekitar kerangka kerja plugin untuk memudahkan pengguna memperluas / memperbaikinya tanpa harus menyentuh satu baris Kode sumber Code :: Blocks.

untuk kalian yang ingin men-Download Compiler C++ Code Blocks ini silahkan klik toblol dibawah ini:

License
Code :: Blocks didistribusikan di bawah Lisensi Publik Umum GNU, versi 3, yang artinya dapat digunakan secara bebas oleh siapa saja! Satu-satunya pengecualian adalah SDK, didistribusikan di bawah GNU Lesser General Public License, versi 3, yang diizinkan untuk ditautkan oleh plugin sumber tertutup.

itulah tadi compiler c++ Code::Blocks. Untuk kalian yang ingin menggunakannya silahkan klik link diatas, sekian artikel kali ini semoga bermanfaat. Jika ada link yang rusak silahkan laporkan lewat kolom komtar ya guys. Jangan lupa share jika artikel ini bermanfaat.

Senin, 22 Juni 2020

Algoritma Rekursif C++

Definisi Rekursi C++, apa itu rekursi

Oke sahabat setia syarif soden, ketemu lagi di blog kesayangan kalian. Pada kesempatan kali ini Mimin akan membahas tentang Algoritma Rekursif pada bahasa pemrograman C++.

Untuk para programmer pemula kalian wajib menguasai materi ini agar bisa membuat program yang utuh dan bagus.

Oke kita langsung ke materi pembahasan.

         Definisi Rekursif C++
Sebuah objek dikatakan rekursif jika ia didefinisikan menjadi lebih sederhana dalam terminology dirinya sendiri. Nicklaus Wirth mendefinisikan rekursif  sebagai “sebuah objek dikatakan rekursif jika sebagian terdiri atau didefinisikan dalam hal itu sendiri” (diartikan menggunakan google translate).

Dalam kehidupan sehari-hari banyak terdapat objek yang rekursif di alam.

Daya guna rekursif terletak pada kemampuannya mendefinisikan sekumpulan objek yang tidak terbatas dengan sebuah pernyataan terbatas. Sebuah perhitungan yang tidak terhingga misalnya, dapat digambarkan dengan algoritma rekurif, seolah-olah algoritma tersebut mengandung perulangan yang tidak terlihat secara eksplisit.

Algoritma rekursif untuk menghitung n! sebagai berikut:

Function Fak(n : integer) =>integer
{mengembalikan nilai n! Algoritma rekursif.
Basis : jika n = 0, maka 0! = 1
Rekurens : jika n > 0, maka n! = n x (n-1)!
}
DEKLARASI
-
ALGORITMA
If n = 0 then
Return 1
Else
Return n*Fak(n-1)
End if

Proses Rekursif C++
Banyak objek di dalam matematika yang didefinisikan dengan cara  menyatakan suatu proses yang menghasilkan objek tersebut. Yang pasti, proses tersebut harus berhenti dengan memberikan hasil yang didefinisikan. Sebagai contoh, Ï€ diperoleh dengan membagi keliling lingkaran (K) dengan diameternya (D). Algoritmanya sebagai berikut:

  1. Baca keliling lingkaran, K
  2. Baca diameter  lingkaran, D
  3. Hitung π = K/D

Contoh objek lain yang diperoleh dari suatu proses adalah factorial. Factorial dari bilangan bulat tak-negatif n didefinisikan sebagai berikut:

Rekursi, Rekursi C++, Rekursif


Sebagai contoh,
0! = 1
1! = 1
2! = 1x2
3! = 1x2x3
4! = 1x2x3x4

Algoritma menghitung factorial

Function Faktorial(n : integer =>integer
{mengembalikan nilai n!}
DEKLARASI
I, F : integer
Algoritma
F <= 1
I <= 1
While I ≤ n do
F <= F*I
I < = I + 1
End while
{I > n}
Return F

Skema Umum Prosedur Dan Fungsi Rekursif C++
Algoritma rekursif adalah algoritma yang memanggil dirinya sendiri. Oleh karena itu, algoritma rekursif harus dinyatakan dalam prosedur atau fungsi, karena hanya prosedur dan fungsi yang dapat dipanggil di dalam sebuah program.

Secara umum, skema dasar fungsi rekursif adalah sebagai berikut:

Function F(x : x_type)=> function_type
{mengembalikan nilai F}
DEKLARASI
Y : y_type
ALGORITMA
If T(x) then
Return N(x) {basis}
Else
R1(x)
Return F(g(x))
R2(x)
End if

Peubah x adalah parameter pemanggil prosedur ( dapat berupa parameter by value atau parameter by reference), R1 dan R2 masing-masing adalah prosedur ( atau sekumpulan instruksi) yang dipanggil sebelum dan sesudah pemanggilan rekursif, g adalah fungsi yang mengubah nilai parameter x, T adalah fungsi untuk kasus basis, dan N adalah fungsi jika kasus basis tercapai. Perhatikanlah bahwa R1 dan R2 tidak selalu harus ada.

Bagaiman Program Rekursif C++ Bekerja?
Program dalam suatu bahasa pemrograman tertentu dikompilasi dan ditranslasi ke dalam bahasa mesin oleh program compiler. Memahami cara compiler menangani program rekursif dapat membantu kita untuk:


  1. Meminimalkan jumlah parameter yang dilewatkan pada waktu pemanggilan.
  2. Mengubah algoritma rekursif menjadi program iterative dengan cara meniru (simulasi) mekanisme pelaksanaan program rekursif.

Pertama-tama kita harus mengetahui mekanisme pemanggilan prosedur  atau fungsi yang ditangani oleh compiler c++. Ketika sebuah prosedur atau fungsi dipanggil, area data di memori dialokasikan untuk pemanggilan tersebut.

Area data ini akan menyimpan:

  1. Parameter yang dilewatkan waktu pemanggilan.
  2. Semua peubah local di dalam prosedur atau fungsi.
  3. Alamat Kembali ( return address ), yaitu alamat instruksi berikutnya di dalam program pemanggil c++ setelah prosedur atau fungsi selesai dilaksanakan.


Setelah mengisi data area, kendali program c++ dipindahkan ke prosedur atau fungsi.
Semua acuan terhadap nilai parameter dan peubah local adalah nilai yang terdapat didalam data area. Bila prosedur atau fungsi selesai dilaksanakan, alamat kembalinya diambil dari area data, kendali program bercabang ke alamat tersebut, dan alokasi memori untuk area data dibebaskan.

Tiap compiler c++ berbeda-beda dalam mengimplementasikan area data, tetapi pada umumnya area data diimplementasikan dalam bentuk tumpukan (stack). Tumpukan (stack) adalah sekumpulan elemen di mana semua penambahan (insert) elemen atau penghapusan (delete) elemen hanya dapat dilakukan pada sebuah sisi yang disebut top.

Dengan menggunakan tumpukan, suatu prosedur atau fungsi tidak kehilangan kendali Ketika memanggil prosedur atau fungsi lainnya. Pada setiap kali pemanggilan, akan dialokasikan memori ( area data ) untuk elemen baru tumpukan, kemudian elemen ini di-push ke dalam tumpukan. Ketika prosedur atau fungsi selesai dilaksanakan, elemen di puncak tumpukan di-pop, alamat kembalinya diambil, dan alokasi memori untuk elemen tersebut dibebaskan.

Kapan Tidak Menggunakan Fungsi Rekursif C++?
Secara intuitif, algoritma rekursif sangat tepat diterapkan untuk persoalan yang alaminya memang rekursif, misalnya persoalan yang menggunakan struktur data rekursif seperti list dan pohon, aplikasi games, dan lain-lain. Persoalan seperti itu didefinisikan dalam hubungan rekursif, dan di sini Teknik pemrograman rekursif menunjukan kedayagunaannya.

Terdapat dua alasan mengapa kita harus mengubah algoritma rekursif menjadi algortma iterative. Pertama, bahasa pemrograman yang akan digunakan tidak mendukung pemanggilan rekursif. Hal ini terjadi pada bahasa pemrograman FORTRAN yang tidak memungkinkan menggunakan rekursifitas, sehingga menghalangi penyelesaian rekursif meskipun cara ini cocok untuk persoalan tertentu.
Kedua, dapat terjadi bentuk rekursif tidak mangkus, memiliki kerumitan yang tidak diperlukan, atau terlalu lambat.

Alas an kedua ditunjukan pada persoalan menentukan deret Fibonacci berikut:

0,1,1,2,3,5,8,13,16,18, …

     Rekursif Dalam Bahasa Pascal, Bahasa C Dan Bahasa C++
Tidak ada perbedaan antara pemanggilan prosedur rekursif dengan prosedur biasa ( tanpa rekursif ) didalam bahasa pascal, bahasa C, maupun bahasa C++. Ketiga bahasa pemrograman ini mendukung rekursifitas.

Contoh program C++ Rekursif

Program rekursif c++ dengan batas akhir

Algoritma pemanggilan fungsi hitungDeret

  1. Mulai
  2. Inisialisasi x = 3
  3. Panggil rekursi (x)
  4. Selesai

Kode Program C++ Rekursif
#include <iostream>
#include <stdio.h>
void Rekursif (int n);
int main ()
{
int x=3;
Rekursif(x);
}
void Rekursif (int n)
{
static int j=0;
if (n<=0) return;
printf("rekursif Ke-D\n", ++j);
Rekursif(n-1);
}

Program Faktorial Rekursif C++
Kode Program
#include <iostream>
using namespace std;

long Rekursif_Faktorial(int b)
{
    if (b == 0)
        return 1;
    else
        cout<<"faktorial"<<endl;
        return b * Rekursif_Faktorial(b-1);

}
int main()
{
    int x;

    cout<<"Masukan Angka yang akan difaktorialkan : ";
    cin>>x;
    cout << x <<"! = " << Rekursif_Faktorial(x) <<endl;
    return 0;
}

Hasil Output
Program Faktorial Rekursif C++


Program Rekursif C++ Menulis Angka Dari 0 Ke n
Kode program
#include<iostream>
using namespace std;
int i;
int angka(int n )
{
    cout<<"MASUKKAN ANGKA :";
    cin>>n;
     for (i=0; i<n; i++)
    {
        cout<<"Rekursi Dari 0 Ke N : "<<i;
        cout<<endl;
    }
    return n;
}

int main ()
{
    int n;
    int i;
    cout<<angka(i);
}

Hasil output
Program Rekursif C++ Menulis Angka Dari 0 Ke n


Program Rekursif C++ Untuk Membalikkan Kalimat
Kode program
#include<iostream>
#include<string.h>
#include<iomanip>
using namespace std;
char rubah[1000];
void rubah_kalimat( ){
int i,n,p;
cout<<"KATA SETELAH DIBALIK : ";
n=strlen(rubah);
for(i=n-1; i>=0; i--)
{
cout<<rubah[i];
}
}
int main(){
cout<<"MASUKKAN KATA     : "; cin>>rubah;
rubah_kalimat();
}

Hasil output
Program Rekursif C++ Untuk Membalikkan Kalimat


Macam-macam struktur percabangan pada c++ dan struktur perulangan pada c++

percabangan pada c++,  perulangan pada c++, Percabangan, Perulangan

Dalam Pemrograman C++ kita harus mengetahui bermacam-macam blok percabangan dan perulangan, karena ini nantinya akan kita pakai dalam suatu kondisi. Dimana kondisi tersebut tidak memungkinkan kita untuk memakai kode c++ yang biasa. nah pada kesempatan kali ini mimin akan membahas tentang, Macam-macam struktur percabangan pada c++ dan struktur perulangan pada c++.

Macam-macam Bentuk Blok Percabangan pada C++

1. Percabangan if Dalam C++

Percabangan if Dalam C++

Percabangan if merupakan percabangan yang hanya memiliki satu blok pilihan saat kondisi bernilai benar.

Buatlah file bernama if.cpp, kemudian isi dengan kode berikut.

#include <iostream>
using namespace std;

int main(){

    cout << "=== Program Pembayaran ===" << endl;
    unsigned int total_belanja;

    cout << "Masukan total belanja: ";
    cin >> total_belanja;

    // menggunakan percabangan if
    if(total_belanja > 100000){
        cout << "Selamat! anda dapat hadiah" << endl;
    }

    cout << "Terimakasih sudah berbelanja di toko kami" << endl;

    return 0;
}

Baca Juga: Struktur Percabangan If Dalam C++

Kompilasi kode tersebut dengan perintah:
g++ if.cpp -o if
Lalu eksekusi dengan perintah:
./if
Perhatikan pada bagian ini:
// menggunakan percabangan if
if(total_belanja > 100000){
    cout << "Selamat! anda dapat hadiah" << endl;
}
Inilah yang disebut blok program.

Blok program berisi sekumpulan ekpresi dan statement untuk dikerjakan oleh komputer.
Blok program pada C++, selalu diawali dengan tanda buka kurung kurawal {dan akan diakhiri dengan tutup kurung kurawal }.

Apabila di dalam blok hanya terdapat satu baris ekspresi atau statement, maka boleh tidak ditulis tanda kurungnya.

if (total_belanja > 100000)
    cout << "Selamat! anda dapat hadiah" << endl;

2. Percabangan if/else Dalam C++

Percabangan if/else Dalam C++

Percabangan if/else merupakan percabangan yang memiliki dua blok pilihan.
Blok pilihan pertama untuk kondisi benar, dan pilihan kedua untuk kondisi salah (else).
Buatlah file beru bernama if_else.cpp, kemudian isi dengan kode berikut:

#include <iostream>
using namespace std;

int main(){

    string password;

    cout << "========= Login =========" << endl;
    cout << "Masukan password: ";
    cin >> password;

    // percabangan if/else
    if (password == "sayangkamu"){
        cout << "Selamat datang bro!" << endl;
    } else {
        cout << "Password salah, coba lagi!"  << endl;
    }

    cout << "Terimakasih sudah menggunakan aplikasi ini!" << endl;

    return 0;
}

3. Percabangan if/else/if Dalam C++

Percabangan if/else/if Dalam C++

Percabangan if/else/if merupakan percabangan yang memiliki lebih dari dua blok pilihan.
Contoh Program:

#include <iostream>
using namespace std;

int main(){

    int nilai;
    string grade;
   
    cout << "=== Program Grade Nilai ===" << endl;
    cout << "Inputkan nilai akhir: ";
    cin >> nilai;

    // menggunakan percabangan if/esle/if
    if (nilai >= 90) {
        grade = "A";
    } else if (nilai >= 80) {
        grade = "B";
    } else if (nilai >= 70) {
        grade = "C";
    } else if (nilai >= 60) {
        grade = "D";
    } else if (nilai >= 55) {
        grade = "E";
    } else if (nilai >= 40) {
        grade = "F";
    } else if (nilai >= 30) {
        grade = "G";
    } else {
        grade = "H";
    }

    cout << "Grade anda: " << grade << endl;

    return 0;
}

Baca Juga: Pengenalan Bahasa Pemrograman C++

4. Percabangan Switch/Case Dalam C++

Percabangan Switch/Case Dalam C++

Percabangan switch/case adalah bentuk lain dari percabangan if/else/if.
Strukturnya seperti ini:

switch(variabel)
{
    case <value>:
        // blok kode
        break;
    case <value>:
        // blok kode
        break;
    default:
        // blok kode
}

Kita dapat mermbuat blok kode (case) sebanyak yang diinginkan di dalam blok switch.
Pada <value>, kita bisa isi dengan nilai yang nanti akan dibandingkan dengan varabel.

Setiap case harus diakhiri dengan break. Khusus untuk default, tidak perlu diakhiri dengan break karena dia terletak di bagian akhir.

Baca Juga: Program Gaji Karyawan C++

Pemberian break bertujuan agar program berhenti mengecek case berikutnya saat sebuah case terpenuhi.

Contoh:
#include <iostream>
using namespace std;

int main(){

    char grade;

    cout << "Inputkan grade: ";
    cin >> grade;

    switch (toupper(grade)){
        case 'A':
            cout << "Luar biasa!" << endl;
            break;
        case 'B':
        case 'C':
            cout << "Bagus!" << endl;
            break;
        case 'D':
            cout << "Anda lulus" << endl;
            break;
        case 'E':
        case 'F':
            cout << "Anda remidi" << endl;
            break;
        default:
            cout << "Grade Salah!" << endl;
    }

    return 0;
}

Perhatikan program di atas.

Kita menggunakan fungsi toupper() untuk mengubah huruf kecil menjadi huruf kapital atau huruf besar.

switch (toupper(grade))
{
    ...
}

Mengapa menggunakan toupper()?
Ini karena agar kita dapat menginputkan huruf kecil dan huruf besar untuk mengecek grade.
Berikutnya coba perhatikan case 'B' dan case 'E'.

Kedua case ini tidak memiliki isi.
Ini artinya dia akan mengikut pada case berikutnya.
Sebagai contoh, apabila kita inputkan B maka case C yang akan terpilih.
Begitu juga saat kita inputkan E, maka case F yang akan terpilih.

5. Percabangan dengan Opertor Ternary
Percabangan menggunakan opreator ternary merupakan bentuk lain dari percabangan if/else.
Bisa dibilang:

Bentuk singkatnya dari if/else.
Operator ternary juga dikenal dengan sebutan operator kondisi (conditional operator).
Bentuk strukturnya seperti ini:

(kondisi) ? true : false
Bagian kondisi dapat kita isi dengan ekspresi yang menghasilkan nilai truedan false.
Lalu setlah tanda tanya ? adalah bagian pilihan.
Jika kondisi bernilai benar, maka true yang akan dipilih. Tapi kalau salah, maka false yang akan dipilih.

Untuk lebih jelasnya, mari kita coba.
Buatlah file baru bernama ternary.cpp, kemudian isi dengan kode berikut:

#include <iostream>
using namespace std;

int main(){

    int jawaban;

    cout << "Berapakah hasil 3+4?" << endl;
    cout << "jawab> ";
    cin >> jawaban;

    string hasil = (jawaban == 7) ? "Benar" : "Salah";
   
    cout << "Jawaban anda: " << hasil << endl;

    return 0;
}

6. Percabangan Bersarang (Nested)
Kita juga dapat membuat blok percabangan di dalam percabangan. Ini disebut percabangan bersarng atau nested if.

Contoh:   nested.cpp
#include <iostream>
using namespace std;

int main(){
   
    string username, password;

    cout << "=== Welcome ===" << endl;
    cout << "Username: ";
    cin >> username;
    cout << "Password: ";
    cin >> password;

    if (username == "syarifsoden"){
        if (password == "diadankamu"){
            cout << "Selamat datang bos!" << endl;
        } else {
            cout << "Password salah, coba lagi!" << endl;
        }
    } else {
        cout << "Anda tidak terdaftar" << endl;
    }

    return 0;
}

Macam-macam Blok Perulangan di C++

1. Blok Perulangan For pada C++

Blok Perulangan For pada C++

Perulangan for merupakan perulangan yang termasuk dalam couted loop, karena sudah jelas berapa kali ia akan mengulang.

Bentuknya kodenya seperti ini:

for(int i = 0; i < 10; i++){
    printf("Perulangan ke-%i\n", i);
}

Yang perlu diperhatikan adalah kondisi yang ada di dalam kurung setelah kata for.
Kondisi ini akan menentukan:

Hitungan akan dimulai dari 0 (i = 0);
Hitungannya sampai berapa? Sampai i < 10;
Lalu di setiap perulangan i akan bertambah +1 (i++).
Variabel i pada perulangan for berfungsi untuk menyimpan nilai hitungan.

Jadi setiap perulangan dilakukan nilai i akan selalu bertambah satu. Karena kita menentukannya di bagian i++.

Contoh program loop dengan for:
#include <iostream>
using namespace std;

int main(){
    for(int i = 0; i < 10; i++){
        printf("Perulangan ke-%i\n", i);
    }

    return 0;
}

Apakah nama variabelnya harus selalu i?
Tidak.
Kita juga bisa menggunakan nama lain.
Misalnya:

#include <iostream>
using namespace std;

int main(){
    for(int counter = 0; counter < 10; counter += 2){
        printf("Perulangan ke-%i\n", counter);
    }

    return 0;
}

Pada contoh tersebut, kita melakukan perulangan dimulai dari nol 0. Lalu di setiap perulangan nilai variabel couter akan ditambah 2 (counter+=2).

Bagaimana kalau counter perulangannya dimulai dari akanga yang lebih besar sampai yang ke paling kecil?
Ini biasanya kita buat saat ingin menghitung mundur.
Caranya gampang.

Kita tinggal isi nilai counter dengan nilai terbesarnya.
Misalnya kita akan mulai hitungan dari 10 sampai ke 0.
Maka nilai counter, kita isi awalnya dengan 10.

Lalu di kondisi perbandingannya, kita berikan counter > 0. Artinya perulangan akan dilakukan selama nilai counter lebih besar dari 0.

Lalu kita kurangi (-1) nilai counter di setiap perulangan (counter--).
for(int counter = 10; counter > 0; counter--)
{
    printf("Perulangan ke-%i\n", counter);
}

Mengapa tidak sampai nol (0)?
Karena kondisi yang kita berikan counter > 0. Apabila counter bernilai 0, maka kondisi ini akan menjadi false.

Kecuali kita menggunakan operator lebih besar sama dengan (>=), maka jika counter bernilai 0, kondisi akan menjadi true.

2. Perulangan While pada C++

Perulangan While pada C++

Perulangan while merupakan perulangan yang termasuk dalam perulangan uncounted loop.
Perulangan while juga dapat menjadi perulangan yang counted loop dengan memberikan counter di dalamnya.

Untuk memahami perulangan ini mari kita coba lihat contohnya:

#include <iostream>
using namespace std;

int main(){
    char ulangi = 'y';
    int counter = 0;

    // perulangan while
    while(ulangi == 'y'){
        printf("Apakah kamu mau mengulang?\n");
        printf("Jawab (y/t): ");
        cin >> ulangi;

        // increment counter
        counter++;
    }

    printf("\n\n----------\n");
    printf("Perulangan Selesai!\n");
    printf("Kamu mengulang sebanyak %i kali.\n", counter);

    return 0;
}

Coba perhatikan blok kode while:
// perulangan while
while(ulangi == 'y')
{
    printf("Apakah kamu mau mengulang?\n");
    printf("Jawab (y/t): ");
    cin >> ulangi;
    // increment counter
    counter++;
}

Di sana Perulangan akan terjadi selama variabel ulangi brenilai y.
Lalu kita menggunakan fungsi scanf() untuk mengambil input.

Selama kita menjawab y pada input, maka perulangan akan terus dilakukan.
Tapi kalau kita jawab yang lain, maka perulangan akan dihentikan.
Karena kondisi perulangannya tidak terpenuhi.

3. Perulangan Do/While pada C++

Perulangan Do/While pada C++

Perulangan do/while sama seperti perulangan while.
Perbedaanya:

Perulangan do/while akan melakukan perulangan sebanyak 1 kali terlebih dahulu, lalu mengecek kondisi yang ada di dalam kurung while.

Bentuk kodenya seperti ini:
Do
 {
    // blok kode yang akan diulang
} while (<kondisi>);
Jadi perbedaanya:
Perulangan do/while akan mengecek kondisi di belakang (sesudah mengulang), sedangkan while akan mencek kondisi di depan atau awal (sbelum mengulang).
Mari kita coba lihat contohnya:

#include <iostream>
using namespace std;

int main(){
    char ulangi = 'y';
    int counter = 0;

    do {
        printf("Apakah kamu mau mengulang?\n");
        printf("Jawab (y/t): ");
        cin >> ulangi;

        // increment counter
        counter++;
    } while(ulangi == 'y');

    printf("\n\n----------\n");
    printf("Perulangan Selesai!\n");
    printf("Kamu mengulang sebanyak %i kali.\n", counter);

    return 0;
}
Contoh tersebut sama seperti contoh pada perulangan while.
Saat perulangan pertama, cobalah untuk membatalkan perulangannya dengan menjawab t.

4. Perulangan Bersarang (Nested Loop)
Di dalam blok perulangan, kita juga dapat membuat perulangan.
Ini disebut dengan nested loop atau perulangan bersarang atau perulangan di dalam perualangan.
Mari kita coba lihat contohnya:

#include <iostream>
using namespace std;

int main(){
    for(int i = 0; i < 10; i++){
        for(int j = 0; j < 10; j++){
            printf("Perulangan ke (%d, %d)\n", i, j);
        }
    }

    return 0;
}

Pada perulangan tersebut, kita menggunakan dua perulangan for.
Perulangan pertama menggunakan variabel i sebagai counter, sedangkan perultangan kedua menggunakan variabel j sebagai counter.

Nah itulah tadi struktur percabangan pada c++ dan struktur perulangan pada c++, sesuaikan struktur mana yang akan sobat pakai berdasarkan konsidi yang sedang sobat alami.