Langsung ke konten utama

Postingan

Pengantar Pengurutan (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 Pengurutan atau sorting berarti menyusun elemen-elemen dengan urutan tertentu, yaitu urut naik (ascending) atau urut turun (descending). Urutan naik berarti susunan elemen dari yang terkecil sampai dengan yang terbesar, misal elemen {3, 1, 7, 5} diurutkan naik menjadi {1, 3, 5, 7}. Sebaliknya, urutan turun berati susunan elemen dari yang terbesar sampai dengan yang terkecil, misal elemen {3, 1, 7, 5} diurutkan turun menjadi {7, 5, 3, 1}. Susunan terurut akan memberikan susunan data yang lebih berarti. #include<iostream> using namespace std; int main() {   in
Postingan terbaru
Pencarian Biner (Binary Search) Pada algoritma pencarian biner, data sudah dalam keadaan terurut (untuk mudahnya diasumsikan urut naik). Contoh dalam kehidupan sehari-hari, seperti orang mencari nomor telepon pada buku telepon. Setiap kali pencarian, kunci akan selalu dibandingkan dengan data yang berada di tengah ( middle ), bila sama berarti data ketemu, bila tidak, akan “dilihat” apakah data ada di sebelah “kiri” (artinya data lebih kecil dari data di tengah) atau di sebelah “kanan” (artinya data lebih besar dari data di tengah). Bila data ada di sebelah kiri, dilakukan pencarian dengan cara yang sama (sementara data yang berada di sebelah kanan akan diabaikan). Jadi, setiap kali pencarian, data selalu “dibelah” menjadi dua bagian (biner), sampai pada “titik tertentu” (bila sama dengan titik tengah, pencarian tidak dilakukan lagi, bila tidak, sampai pada perbandingan terakhir data juga tidak sama, berarti data tidak ditemukan pada array aray ). Berikut adalah algoritmanya:

linear searching

SEARCHING DAN SORTING A.  Pencarian Linier (Linear search) Andaikan terdapat array aray dengan banyak data sebanyak ukuran. Misalkan kita ingin mencari data kunci dalam array aray. Prinsip pada pencarian linier, setiap data pada aray akan dibandingkan dengan kunci sampai pada data yang terakhir (kasus terburuk). Bila pada posisi ke-i data sama dengan kunci , berarti data ditemukan pada posisi ke-i. Bila sampai akhir data, data tidak juga ditemukan berarti kunci tidak ada pada  aray.   berikut adalah algoritma dari pencarian searching function pencarianLinier(input aray : larik; kunci, ukuran : integer) : integer Deklarasi ketemu : boolean i, n : integer Deskripsi ketemu €  false; n €  1 while ((n < ukuran) and (not ketemu)) do if (aray[n] = kunci) then ketemu  €  true { data ketemu } i  €  n { pada posisi ke-i } endif else n  €  n+1 { cek data berikutnya } endwhile if ketemu then pencarianLinier  €  i { data ketemu pada posisi ke-i } else pencarianLi
POINTER Terdapat dua jenis variabel menurut kebutuhan program untuk menyimpan data, yaitu variabel statis dan variabel dinamis. Variabel statis adalah variabel yang harus dipesan dahlu sebelum digunakan dan banyaknya tidak dapat diubah saat program dieksekusi. Variabel dinamis adalah variabel yang dapat dipesan (dibuat) saat dibutuhkan waktu program dieksekusi, namun dapat pula dihancurkan (atau dikembalikan ke sistem operasi) saat tidak dibutuhkan. Cara mendeklarasikan variabel dinamis cukup menambahkan tanda * di antara tipe data dan nama variabelnya. Sebagai contoh : int *P; adalah pernyataan yang mendeklarasikan variabel pointer yang menunjuk data yang bertipe int. Data ini bisa saja ditandai oleh variabel statis. int x = 5; Pernyataan P = &x; berarti bahwa pointer P digunakan untuk menunjuk data bertipe int yaitu 5 yang disimpan pada variabel x. Dalam penggunaannya, variabel dinamis dapat menunjuk ke manapun, asal tipe data yang ditunjuk sesuai dengan tipe poin
Array dua Dimensi Array dua dimensi adalah array yang terdiri dari n buah baris dan m buah kolom, atau array dua dimensi juga biasa disebut sebagai array yang mempunyai dua subskrip, yaitu baris dan kolom. Bentuknya dapat sobat bayangkan seperti matriks atau tabel. dimana indeks pertama menunjukan baris dan indeks kedua menunjukan kolom. Berikut gambar yang dapat mengilustrasikan sebuah array dua dimensi. ilustrasi array dua dimensi * Pada ilustrasi array dua dimensi diatas, dimisalkan terdapat sebuah array dua dimensi dengan nama "A", array A memiliki jumlah elemen baris sebanyak 3 dan jumlah elemen kolom sebanyak 4. Bentuk / Cara Pendeklarasian Array Dua Dimensi Untuk mendeklarasikan sebuah  array dua dimensi dalam C++ , sobat harus menggunakan tanda  [ ] (bracket). Adapun bentuk umum dari pendeklarasian array dua dimensi adalah sebagai berikut: tipe_data  nama_array  [jumlah_elemen_baris] [jumlah_elemen_kolom]; Sebagai contoh misal kita ingin mendekl
ARRAY 1 DIMENSI      Array adalah  sebuah variabel yang menyimpan sekumpulan data yang memiliki tipe sama atau Array juga dapat disebut sebagai kumpulan dari nilai-nilai data bertipe sama dalam urutan tertentu yang menggunakan sebuah nama yang sama. Setiap data tersebut menempati alamat memori atau lokasi yang berbeda-beda dan selanjutnya disebut dengan elemen array. Elemen array sendiri dapat diakses melalui indeks yang terdapat di dalamnya. Namun, penting sekali untuk di ingat bahwa dalam C++ indeks array selalu dimulai dari  0 , buka  1 .      Array satu dimensi adalah array yang terdiri dari n buah kolom atau Array satu dimensi adalah array yang terdiri dari 1 subskrip array saja. Setiap elemen array satu dimensi dapat diakses melalui indeks yang terdapat di dalamnya.     Andaikan kita mempunyai 5 buah data berupa integer, yaitu 8, 3, 9, 2, dan 5. Data ini akan kita tempatkan pada tempat seperti di bawah ini. Data 8 3
REKURSIF    Rekursif   adalah fungsi yang mengembalikan nilai dirinya sendiri atau juga dapat diartikan fungsi yang memanggil dirinya sendiri. Nah sebagai contoh kali ini, saya akan memaparkan fungsi rekursif dalam persoalan  faktorial  nih. Dalam fungsi faktorial kali ini, saya melakukan dua pengkondisian, pertama untuk penghentian fungsi dan yang kedua sebagai penjalannya dan proses fungsi tersebut. #include <iostream>   using namespace std;         long rekursiffaktorial( int f)   {        if (f == 0)            return 1;        else            return f * rekursiffaktorial(f - 1);   }         int main()   {        int x;        int n = 4;        cout << n << "! = "             << rekursiffaktorial(n) << endl;              n = 9;        cout << n << "! = "             << rekursiffaktorial(n) << endl;