Sunday, 22 November 2015

Penggunaan Fungsi atau Function dalam Pemrograman Modular di C++

Kali ini kita akan mempelajari materi yang berbeda, yaitu Fungsi atau Function. Apa itu Fungsi? Fungsi (function) merupakan blok kode yang dirancang untuk melakukan tugas tertentu atau satu blok intruksi atau subprogram kecil yang dieksekusi ketika dipanggil dari bagian lain dalam suatu program atau di sebut juga dengan modular programming. Kenapa kita membutuhkan fungsi? Apa kegunaannya? 

Kegunaan fungsi yaitu :
  • Untuk mengurangi  pengulangan penulisan program yang sama
  • Agar program menjadi lebih terstruktur sehingga mudah dipahami dan lebih mudah untuk dikembangkan
  • Menguraikan tugas pemrograman rumit menjadi langkah-langkah yang lebih sederhana atau kecil.
  • Memecah program besar menjadi kecil sehingga dapat dikerjakan oleh programmer-programmer atau dipecah menjadi beberapa tahap sehingga mempermudah pengerjaan dalam sebuah projek
  • Menyembunyikan informasi dari user sehingga mencegah adanya perbuatan iseng seperti memodifikasi atau mengubah program yang kita buat
  • Meningkatkan kemampuan pelacakan kesalahan, jika terjadi suatu kesalahan kita tinggal mencari fungsi yang bersangkutan saja dan tak perlu mencari kesalahan tersebut di seluruh program.
Ada begitu banyak kegunaan fungsi, jadi mari kita mulai belajar. Seperti biasa di dalam pemrograman tidak akan luput dari yang namanya bentuk umum. Berikut bentuk umum dari fungsi atau function.

Nama_fungsi (parameter){
pernyataan/perintah
pernyataan/perintah
pernyataan/perintah
}


Dan cara mengaksesnya:

Nama_fungsi(parameter);

Keterangan :
  • Nama fungsi bebas tetapi tidak boleh mengandung spasi
  • Parameter, bisa diisi atau tidak (parameter dalam fungsi akan di bahas pada postingan tersendiri)
  • Pernyataan atau perintah diletakkan di dalam tanda ‘{ }’
Fungsi itu sendiri ada dua macam yaitu fungsi void dan non void. Kita bahas satu per satu.
 
Fungsi Void (Fungsi tanpa nilai balik)
Fungsi void sering disebut juga prosedur. Disebut void karena fungsi tersebut tidak mengembalikan suatu nilai keluaran yang didapat dari hasil proses fungsi tersebut. Perhatikan contoh di bawah ini. 


 










Contoh di atas memiliki 4 fungsi, 3 fungsi void dan 1 fungsi main. Fungsi void mudah bukan? Perlu diingat, pendeklarasian fungsi HARUS di luar fungsi main(), untuk pemanggilan fungsi baru di dalam fungsi main().

Penulisan fungsi tidak harus selalu di atas fungsi main() tapi bisa juga di bawah, dengan syarat, HARUS membuat inisialisasi nama fungsi terlebih dahulu. Perhatikan contoh di bawah ini.































Fungsi non Void (Fungsi dengan nilai balik)
Fungsi non-void disebut juga function. Disebut non-void karena mengembalikan nilai kembalian yang berasal dari keluaran hasil proses function tersebut. Berbeda dengan  fungsi tanpa nilai balik yang hanya mengandung proses tanpa adanya nilai kembalian, fungsi dengan nilai balik digunakan untuk melakukan proses-proses yang berhubungan dengan nilai. Adapun cara pendefinisiannya adalah dengan menuliskan tipe data dari nilai yang akan dikembalikan di depan fungsi.

Tipe_data nama_fungsi (parameter1,parameter2,...){
          Statemen_yang-akan_dieksekusi;
          Return nilai_balik;
}

Tipe data digunakan untuk menentukan tipe keluaran fungsi, yang dapat dipilih dari tipe data yang berlaku dalam C++, seperti char atau int. Jika tipe data dalm fungsi tidak disebutkan maka akan dianggap sebagai int. Supaya lebih jelas, kita langsung ke contoh saja. Berikut contoh sederhananya.


 


















Untuk contoh yang lebih kompleks ditunggu di postingan lain waktu ya. Semoga postingan kali ini bisa membantu. Bagi yang ingin mengetik sendiri script lebih bagus, tapi jika ingin source code bisa di download disini.



Saturday, 21 November 2015

Melakukan Pencarian atau Searching pada Elemen Array

Ada yang belum pernah searching di google? Pasti anak informatika tidak ada yang tidak pernah searching pada mesin pencari yang satu ini yang sudah menjadi andalan bagi para mahasiswa dalam mencari banyak hal, dari yang penting sampai yang tidak penting. Nah kita juga akan membuat program pencarian juga menggunakan program C++. Postingan kali ini adalah kelanjutan materi tentang array. Apa itu searching? Searching adalah metode pencarian informasi dalam suatu aplikasi menggunakan suatu kunci ( key ). Searching diperlukan untuk mencari informasi khusus dari sekumpulan data yang disimpan dalam sebuah array. 

Ok, cukup pengantarnya sekarang kita lanjut ke pembahasannya. Searching pada C++ ada dua metode yang biasa digunakan. 

  • Metode pencarian beruntun atau sequential search
  • Metode pencarian bagi dua atau binary search

Kita bahasa satu per satu, yang pertama adalah Pencarian Beruntun atau Sequential search.

Konsep yang digunakan dalam metode ini adalah membandingkan data-data yang ada dalam kumpulan tersebut, mulai dari elemen pertama sampai elemen ditemukan, atau sampai elemen terakhir. Dan untuk sequential search dibagi menjadi dua macam pula, pencarian dengan data sudah terurut dann pencarian dengan data tidak terurut.

Disini kita selalu menggunakan array, jadi harap diingat bahwa indeks array dimulai dari 0. Jadi posisi atau letak elemen di dalam array akan ditunjukkan dengan indeks. Dan perlu diingat juga array itu menggunakan perulangan, jadi pastikan juga Anda menguasai perulangan atau looping.

Pembahasan dan Penggunaan Perulangan pada Pemrograman C++

Ok, kita langsung ke contoh saja supaya lebih jelas.






Berikut outputnya :

 













Contoh di atas untuk data yang tidak terurut, untuk data yang terurut data harus diurutkan terlebih dahulu namun algoritma untuk pencariannya tetap sama, membandingkan satu per satu antara data yang di cari dengan elemen pada array.

Metode yang kedua adalah Bagi Dua atau Binary Search.

Untuk metode yang satu ini mempunyai syarat mutlak yaitu data HARUS dalam kondisi sudah terurut. Metode pencarian ini biasa kita terapkan ketika mencari kata dalam kamus atau mencari bab dalam sebuah buku. Untuk mencari kata misalnya, kita tidak mungkin mencarinya dari awal sedangkan kata yang kita cari dimulai dari huruf M, pasti kita akan langsung mulai dari tengah. 
Begitu juga dengan algoritma Binary search ini. Berikut ini adalah langkah-langkah atau algoritma dari binary search.
  1. Mula-mula diambil dari posisi awal=0 dan posisi akhir = n (sesuai indeks).
  2. Kemudian kita cari posisi data tengah dengan rumus posisi tengah = (posisi awal + posisi akhir ) div 2
  3. Kemudian data yang di cari dibandingkan dengan data tengah
  • Jika sama, data ditemukan, Proses selesai
  • Jika lebih kecil, proses dilakukan kembali tetapi posisi akhir dianggap sama dengan posisi tengah -1
  • Jika lebih besar , proses dilakukan kembali tetapi posisi awal dianggap sama dengan posisi tengah +1
       4. Ulangi langkah kedua hingga data ditemukan , atau tidak ditemukan.

Pencarian biner ini akan berakhir jika data ditemukan dan jika posisi awal sudah lebih besar dari posisis akhir berarti data tidak diketemukan.
Bingung? Ok saya ilustrasikan sekali lagi menggunakan contoh. Perhatikan ilustrasi di bawah ini.
Array X mempunyai 5 elemen seperti di bawah ini.
X[5];

Elemen
20
30
40
50
60
indeks
0(ia)
1
2
3
4(ib)

Missal data yang ingin dicari adalah 40. Maka algoritma pencariannya:

cari=40;
ia=0;
ib=4;
tengah=(ia+ib)/2=(0+4)/2=2

setelah ketemu indeks tengah baru dibandingkan dengan data yang dicari.
X[2]==cari? Jika iya berarti data ditemukan. Sama atau tidak? Ternyata sama, berarti pencarian berhenti karena data sudah ditemukan.

Ket: ia=indeks awal, ib=indeks akhir
Bagaimana? Sudah lebih ada gambaran? Supaya lebih jelas kita langsung ke contoh program saja.

 







Berikut output jika data yang dicari di temukan.








 dan berikut output jika data yang di cari tidak ditemukan










Semoga postingan kali ini bisa membantu. Sampai ketemu di postingan selanjutnya. Jangan pernah bosan untuk belajar. Jika ada pertanyaan bisa di tulis di comment atau hubungi langsung di Contact UsScript bisa di download disini untuk sequential search dan disini untuk binary search.











Friday, 20 November 2015

Pembahasan Structure of Array dan Array of Structure pada Pemrograman C++

Masih melanjutkan dari materi structure, belum bosen kan? Harus dong karena belajar itu tidak mengenal bosan. Dari namanya terdengar sedikit membingungkan, apalagi bagi programmer pemula yang baru mulai belajar tentang pemrograman. Ok kita bahas pengertiannya dulu. Structure of array atau disebut juga structure dari array, artinya kita mendeklarasikan sebuah structure yang elemen-elemennya berupa array. Sedangkan array of structure atau array dari structure berarti kita mendeklarasikan sebuah array yang elemennya berupa structure. 

Untuk lebih jelas kita lihat contoh pendeklarasian masing-masing dari array of structure dan structure of array.
 
Contoh untuk structure of array 
 
struct mahasiswa{
char nama[30];
char nim[10];
float nilai[3];
   };
mahasiswa mhs;

Cara mengakses elemen pada structure of Array
 
       mhs.nilai[1]=90;
 
dan berikut contoh untuk array of structure

struct mahasiswa{
char nama[30];
char nim[10];
float nilai[3];
   };
mahasiswa mhs[100];

Cara mengakses elemen pada array of structure
 
mhs[2].nim;
 

yang ada di dalam tanda [] adalah alamat array dimana isinya berupa variabel yang digunakan untuk perulangan.

Langsung ke contoh program? Ok, kita langsung ke contoh. Berikut adalah contoh program untuk structure of Array.
 












Dan di bawah ini adalah contoh program untuk array of structure.  

















































Semoga postingan kali ini bermanfaat, dan selamat mencoba. Jangan lupa untuk mencoba membuat program yang lainnya juga. See you in the next post.

Thursday, 19 November 2015

Contoh dan Pembahasan Nested Struct pada Pemrograman C++

Ok, postingan kali ini adalah kelanjutan dari postingan yang kemarin. Tentunya masih ingat materi struct kemarin dong. Kalau lupa di baca lagi ya.

Pembahasan dan Penggunaan Struct atau Structure pada Pemrograman C++

Kemarin kita membahas tentang struct, dan sekarang kita akan membahas tentang bentuk nested-nya, atau struct bersarang. Ternyata selain looping dan selection, struct juga ada nested-nya. Iya benar sekali, dan sekarang mari kita mulai dari bentuk umum.

Ya, yang namanya pemrograman pasti akan selalu ada yang namanya bentuk umum. Lihat di bawah ini ya.

struct {
;
;
……………….
;
} 
struct {
;
;
……………….
;
             struct ;
} ;

Biasanya melihat bentuk umum itu lebih pusing dari pada melihat contohnnya langsung, karena saya juga begitu. Hehe. Karena itu kita langsung ke contoh saja ya. 

struct Tanggal{
       int hari;
       int bulan;
       int tahun;
};
struct Karyawan{
       char nama[30];
       char nip[10];
       struct Tanggal tgl_masuk;
}data_karyawan;


Bagaimana? Sudah lebih jelas sekarang? Disini struct Tanggal adalah anak dari struct Karyawan, jadi jika kita ingin mengakses data dari struct Tanggal maka kita harus ijin dulu ke struct Karyawan. Dan kalau kita ingin mengakses data hari,bulan, dan tahun yang merupakan anak dari struct Tanggal maka kita harus dulu ke yang lebih tua, yaitu, struct Karyawan baru ke struct Tanggal. Untuk lebih mudahnya bisa lihat cara mengaksesnya di bawah ini. 

data_karyawan.tgl_masuk.hari;
data_karyawan.tgl_masuk.bulan;
data_karyawan.tgl_masuk.tahun;

Mudah bukan untuk memanggilnya. Baik kita ke contoh programmnya, Kita akan membuat program pendataan masuk karyawan. 







dan berikut outputnya :















mudah kan? selamat mengetik dan mencoba. kalau mau download scriptnya bisa cek disini.





Wednesday, 18 November 2015

Pembahasan dan Penggunaan Struct atau Structure pada Pemrograman C++

Postingan kali ini akan membahas tentang struct atau structure. Apa itu struct? Struct adalah kumpulan dari variabel yang dinyatakan dengan sebuah nama, dengan sifat setiap variabel dapat memiliki tipe data yang berbeda. Variabel dalam structure sering disebut dengan nama komponen/field/elemen atau members.

Dalam pemrograman C++, untuk membuat program yang sederhana struct belum terlalu dibutuhkan karena variabel yang digunakan masih sedikit. Namun akan berbeda cerita jika kita membuat suatu program kompleks yang memerlukan banyak variabel dan berbagai tipe data. Kita akan membutuhkan struct untuk mempermudah kita dalam membedakan satu variabel dengan variabel yang lain karena kita bisa mengelompokkan nama dan tipe data variabel.

Sebagai contoh umum, ada terdapat berbagai nama variable : nama, nim, alamat, dll. Variabel–variabel tersebut dapat kita kelompokkan menjadi satu dengan nama data_mahasiswa. Kemudian jika terdapat variabel mata_kuliah, nilai, sks, kelas, dll dapat kita kelompokkan menjadi satu dengan nama krs. Pendeklarasian struct ada dua cara, secara langsung dideklarasikan atau menggunakan kata kunci typedef.

Berikut bentuk umum pendeklarasian struct secara langsung

struct {
;
;
……………….
;
} ;

Contoh pendeklarasian struct

struct Mahasiswa{
char nama[20];
int nim;
char alamat;
}mhs;

Atau

struct Mahasiswa{
char nama[20];
int nim;
char alamat;
};
Struct Mahasiswa mhs;

Pendeklarasian struct menggunakan kata kunci typedef

typedef struct {
  tipe_data_1 elemen_nama_1;
.
.
  tipe_data_n elemen_ nama_n;
} nama_struct;

nama_struct struct_variable;

Lalu bagaimana cara kita mengakses elemen struct? Berikut caranya :

.

Contoh memberikan nilai statis:

    mhs.nama = “Yuni”;
    mhs.nim = 12345;


Contoh membaca data dari keyboard

    cin>>mhs.nama;
    cin>>mhs.nim;

 
Berikut contoh penggunaan struct, bisa dilihat scriptnya di bawah ini :























 Atau jika ingin menggunakan typedef bisa dilihat seperti di bawah ini :

























Dan berikut outputnya :












Bagaimana mudah bukan? Yang jelas intinya jika kita ingin mengakses elemen di dalam struct kita harus menyertakan terlebih dahulu nama struct-nya. Ibarat kita mau mengajak nikah seseorang pasti minta ijin orang tuanya dulu kan? Nah dalam hal contoh program struct di atas, anaknya itu nama, orang tuanya itu mhs. Jadi jika kita ingin mengajak nama maka kita harus ijin mhs selaku orang tuanya. Mudah kan? Selamat belajar. Sampai jumpa di postingan selanjutnya.

Sunday, 15 November 2015

Contoh dan Pembahasan Program C++ Sederhana Menggunakan Perulangan dan Percabangan / Program Penjumlahan

Ok, hari ini saya ingin berbagi program sederhana tentang program penjumlahan yang menggunakan perulangan dan percabangan. Bagaimana programmnya? Let’s see.










Ok, jika dilihat dari outputnya kira-kira bagaimana scriptnya? apa saja yang dibutuhkan untuk membuat program seperti diatas?  
Perulangan dan percabangan sudah pasti. Disini kita harus menggunakan logika kita, berapa perulangan yang kita butuhkan? untuk apa saja? dan berapa percabangan yang dibutuhkan? untuk yang mana saja?
ok, dilihat dari outputnya, disitu ada 4 hal yang menjadi perhatian yang harus diulang atau menggunakan perulangan. apa saja? Nilai/angka, tanda "+", tanda "=", dan hasil dari penjumlahannya. Kemudian untuk percabangannya. apa saja yang membutuhkan percabangan? sudah pasti sama dengan perulangan, yang membedakan adalah kondisinya. Ok, kita cek scriptnya.




























Keterangan:
- i digunakan untuk variabel perulangan
- n adalah variabel untuk menyimpan banyak nilai yang ingin dijumlahkan.
- jml adalah variabel yang digunakan untuk menampung hasil dari penjumlahan, maka dari itu kita harus memberikan nilai awalnya 0.

Bagaimana? pusing? kenapa membutuhkan begitu banyak perulangan dan percabangan? Ok, disini kita bermain logika karena dalam setiap pemrograman faktor yang paling penting adalah logika. Dari script di atas jelas terlihat bahwa jenis perulangannya hanya satu tapi membutuhkan tiga kali perulangan dan 4 untuk selection/percabangan yang berbeda. Ok kita bahas saja jika masih ada yang bingung.
- perulangan pertama digunakan untuk menampilkan nilai/angka dan tanda "+", namun lihat kondisinya disitu ada yang berbeda, nilai atau angka ditampilkan ketika i<=n sedangkan tanda "+" hanya sampai i
- perulangan kedua untuk menampilkan "=", tanda "=" hanya ditampilkan 1 kali, kapan? yaitu ketika kondisi i==n
- perulangan ketiga digunakan untuk menjumlahkan nilai dan kemudian menampilkan, kapan ditampilkan? yaitu ketika i==n.

Ok, itu saja yang bisa saya jelaskan. Jika masih ada pertanyaan bisa hubungi di contact us atau silakan comment di bawah post ini. Untuk script silakan dicoba di otak-atik, seperti yang pernah saya terangkan pada post 7 Tips Agar Cepat Menguasai Pemrograman C++
belajarlah dengan mengotak atik program yang sudah ada, coba ganti beberapa elemen dan lihat bagaimana hasilnya dan temukan alasan kenapa hasilnya seperti itu. Hal ini akan membuat kita lebih cepat menguasai bahasa pemrograman. Ok, good luck dan sampai bertemu di postingan selanjutnya. 
Oh iya hampir lupa, jika ingin source code nya, bisa di download disini atau dari menu download.

Saturday, 14 November 2015

Penggunaan Array dalam Bahasa Pemrograman C++

Apa kabar semuanya? Masih lanjut kan belajar C++ nya?
 Terakhir kita membahas tentang exit(0) dan perulangan bersarang, sekarang kita lanjutkan ke materi selanjutnya yaitu Array. Hari ini kita pelajari dulu tentang array 1 Dimensi. Di kesempatan yang lain kita akan membahas array 2 Dimensi atau lebih.

Ok kita mulai dengan satu pertanyaan. Apa sih Array? Array atau larik adalah suatu tipe terstruktur yang berupa sejumlah data sejenis (mempunyai tipe data sama). Setiap data yang menempati alamat array disebut elemen array. Untuk setiap elemennya diidentifikasi / dibedakan dengan sebuah index. Perlu diingat index array pada C++ selalu dimulai dari 0 bukan 1. Sehingga banyak index dalam sebuah array adalah n-1, n yang dimaksud disini adalah banyak data.

Berikut skema penjelasannya :




Bentuk umum pendeklarasian array :


Contoh :
int nilai[10];

Keterangan :
Tipe data : integer
Nama array : nilai
Jumlah elemen array/panjang array : 10

Masih bingung? Ok saya berikan satu contoh deklarasi yang lain dengan nilainya sehingga lebih jelas.

int nilai [5] = { 90, 80, 75, 87, 72};
Artinya:  
nilai[0] = 90 artinya Array nilai index [0] memiliki nilai/elemen 90
nilai[1] = 80 artinya Array nilai index [1] memiliki nilai/elemen 80
nilai[2] = 75 artinya Array nilai index [2] memiliki nilai/elemen 75
dan seterusnya. Bagaimana, sudah lebih jelas bukan?

Pengisian elemen dari suatu array dalam bahasa C++ dapat dilakukan dengan 2 cara yaitu dengan cara statis maupun dinamis. Cara statis artinya menuliskan elemen dari array secara langsung pada saat pendeklarasian array tersebut seperti contoh diatas, sedangan cara dinamis berarti pemberian elemen dari suatu array dilakukan pada saat program dijalankan (runtime).

Ada satu hal lagi yang perlu diingat pemberian nilai statis pada array jika menggunakan tipe data char harus menggunakan ‘’ (petik satu). Contoh : char huruf_vokal[5] = {‘a’,’i’,’u’,’e’,’o’};
Nah untuk pemberian nilai secara dinamis atau pada saat program di run kita harus menggunakan perulangan. Tentunya masih ingat materi perulangan sebelumnya bukan? Kalau lupa silakan dibaca lagi :

Pembahasan dan Penggunaan Perulangan pada Pemrograman C++

Ok, kita langsung ke contoh saja supaya lebih jelas dan juga sudah saya beri komentar untuk lebih memperjelas.























dan berikut ini adalah outputnya:



Bagaimana? Mudah bukan? Jika masih belum mengerti, berikut saya berikan satu contoh program yang dibuat menggunakan array. Check it out.

Kasus:
User diminta menginputkan banyak mahasiswa yang ingin diinputkan, kemudian menginputkan nilai-nilainya, baru kemudian dicari nilai akhirnya dengan prosentase 30% tugas,40% responsi, 30% kuis (dari mana ketentuannya? Saya buat sendiri. Hehehe).

 
















Ok, langsung saja check source code nya.


Mudah bukan? Selamat mencoba. Jika memiliki pertanyaan atau ada pendapat yang berbeda bisa comment di bawah post ini atau hubungi saya lewat email. Bagi yang mau mengetik sangat diperbolehkan, tapi jika ingin source code nya bisa di download disini. Terima kasih.