Cari Blog Ini

Kamis, 21 September 2017

TUGAS 1 STRATEGI ALGORITMA

Programming Language C.
      Pada pembelajaran Strategi Algoritma (20/9/17). Mempelajari tentang pemahaman lebih lanjut tentang Bahasa Pemograman C, dimana pada postingan kali ini berkaitan dengan Pemograman menggunakan Bahasa Pemograman C. Untuk penerapannya sendiri pemograman ini didasari terkait dengan "File Header", yang dimana file header itu sendiri adalah file dengan ekstensi h atau [*.h] yaitu file bersifat bantuan yang digunakan untuk memanggil dan menyimpan daftar atau libary fungsi yang ada sehingga program dapat berjalan dengan baik dan benar. Itu tadi sedikit penjelasan terkait postingan Bahasa Pemograman C dengan materi File Header, dibawah ini ada contoh koding bagaimana fungsi dari File Header.


Download Link Contoh Kodingan File Header Tingal Klik Saja :


Note : Compiler menggunakan aplikasi Code::Blocks klik Download dibawah.


Powered by. Code::Blocks


<=========================>
Untuk Download Aplikasi Code::Blocks !
<=========================>


Senin, 14 November 2016

TEKNOLOGI INFORMASI MANAJEMEN DATABASE

Berbicara tentang Manajemen Database, maka kita akan disuguhkan dengan data. Data sendiri merupakan sumber daya data organisasi yang vital dan perlu dikelola seperti aset penting lain nya. Kebanyakan organisasi tidak dapat hidup atau tidak akan sukses tanpa ada nya data internal (data dalam perusahaan) dan data eksternal (data luar yang perushaan dapat dari luar perusahaan) yang berkualitas.



1. Pengertian

Manajemen Database

Adalah salah satu bagian dari manajemen sumber daya data atau informasi yang mencakup semua kegiatan dan yang memastikan bahwasanya sumber daya informasi yang dihasilkan tersebut akurat, muktahir, aman, dapat dipercaya dan tersedia bagi pengguna yang membutuhkan.



Manajemen Sumber Data

Data merupakan bagian dari sumber daya data organisasi yang sangat vital dan perlu dikelola dan di organisir sedemikian rupa, seperti aset-aset penting dalam suatu perusahaan. Umumnya suatu organisasi tidak dapat sukses, maju dan berkembang tanpa adanya data (sumber) dari dalam dan luar dari organisasi itu sendiri. Dalam hal ini data internal dan data eksternal yang berkualitas sangat berperan bagi kemajuan organisasi.



2. Konsep Database
Database adalah suatu kumpulan atau kelompok computer yang terintegrasi, diorganisasikan dan disimpan dalam suatu cara untuk memudahkan pengambilan dan pengiriman kembali suatu data. Integrasi logis dari catatan – catatan dalam banyak file ini disebut konsep database.

Konsep dasar data didalam database dibagi dalam beberapa hirarki atau tingkatan data.


1) Character
Elemen atau unrus yang paling mendasar dalam sebuah database adalah Caracter (karakter). Suatu karakter dapat berupa huruf, angka, dan atau simbol lainnya.

2) Field
Sebuah field adalah sekelompok atau kumpulan dari karakter yang saling berhubungan dan berkaitan yang mewakili ciri atau karakteristik untuk mendefinisikan seseorang, tempat, atau suatu barang.

3) Record

Record adalah konsep dasar data yang terbentuk dari satu atau lebih field yang saling berhubungan satu sama lain antar satu baris data. Record dapat mendefinisikan seseorang, tempat atau barang.

4) File
File adalah gabungan atau kumpulan dari sekelompok record yang saling berhubungan dan membentuk sebuah tabel. File juga sering disebut dengan tabel.

5) Database
Database merupakan tingkatan yang paling besar dalam struktur konsep dasar data, karena database merupakan gabungan dari semua konsep data.
Database adalah gabungan atau kumpulan dari file atau tabel yang terhubung, terintegritas, dan terstruktur sedemikian rupa sehingga pencarian data dapatdilakukan dengan cepat dan mudah.

Gambar. Susuanan Data


3. Jenis File

a. File Induk (Master File)
Yaitu file yang digunakan untuk menyimpan data dari system informasi tertentu secara lengkap dan dipelihara secara teratur. File ini harus ada selama sistem hidup.
Ada 2 jenis tipe File Master :
    - Reference Master File, yaitu file yang berisi record yang tak berubah / jarang berubah.
      Contoh : berkas pelanggan yang berisi field nomor rekening, nama dan alamat.
    - Dynamic Master File, yaitu file yang berisi record yang terus-menerus berubah dalam
      kurun waktu tertentu atau berdasarkan suatu peristiwa transaksi. Contoh : berkas stok
      barang, dll.

b. File Transaksi
Yaitu file yang berisi informasi yang digunakan untuk memperbaharui file Master. Sehingga dengan adanya file transaksi ini, file master dapat berubah sesuai dengan informasi yang ada di file transaksi tersebut. File transaksi berfungsi untuk mencatat atau merekam data hasil transaksi selama satu periode di file master.

c. File Laporan
Yaitu file yang berisi data yang dibuat untuk laporan atau keperluan user, file ini hanya dapat dicetak atau diprint serta dapat hanya ditampilkan pada layar monitor.

d. File History
Yaitu file yang menyimpan data yang telah disimpan dalam bentuk suatu periode waktu tertentu yang telah lampau, biasanya digunakan untuk menyusun laporan yang bersifat tetap. File history ini sudah tidak aktif lagi, namun masih tetap disimpan sebagai arsip.

e. File Backup (File Cadangan)
Merupakan salinan dari file-file atau data yang masih aktif di dalam database pada suatu saat tertentu.



4. Jenis Database

a. Database Operasional
Database operasional dapat menyimpan data rinci yang dibutuhkan untuk mendukung proses bisnis dan operasi dari suatu perusahaan. Database operasional juga disebut Sebagai Subject Area Database (SADB), database transaksi (transaction database), dan database produksi (production database). Contohnya adalah database pelanggan, database sumber daya manusia, database persediaan, dan database-database lainnya yang berisi data yang dihasilkan melalui operasi bisnis. 

b. Database Terdistribusi
Banyak organisasi menduplikasi dan mendistribusikan berbagai salinan atau bagian dari database ke server jaringan dalam berbagai situs. Database terdistribusi (distributed database) ini dapat bertempat dalam server jaringan di World Wide Web, di intranet dan ekstranet perusahaan, atau di jaringan perusahaan lain.

c. Database Analisis
Database ini dapat menyimpan data dan informasi yang di peroleh dari operasi yang dipilih dan database eksternal.


5. Struktur Database

a. Struktur Hirarkis

Struktur hirarkis membuat hubungan antar catatan membentuk hierarki atau struktur yang seperti pohon. Struktur ini digunakan pada hubungan 1 ke M (One to Manny).


b. Struktur Jaringan

Struktur jaringan dapat mewakili hubungan logis yang lebih rumit, dan masih digunakan oleh beberapa software mainframe DBMS. Struktur ini memungkinkan hubungan banyak-ke-banyak.


c. Struktur Relasional

Model relasional adalah model yang paling banyak digunakan dari ketiga struktur database ini. Model ini digunakan oleh kebanyakan software DBMS mikrokomputer, dan juga sistem skala menengah dan mainframe.


d. Struktur Multidimensi

Struktur database multidimensional adalah variasi dari model relasional yang menggunakan struktur multidimensional untuk mengatur data dan menyajikan hubungan antardata.


e. Struktur Berorientasi Object
Model database yang berorientasi pada objek dianggap merupakan salah satu dari teknologi penting dari generasi baru aplikasi multimedia berbasis Web.

f. Evaluasi Struktur Database
Struktur data hierarkis adalah midel natural untuk berbagai database yang digunakan untuk pemrosesan transaksi yang jenisnya rutin dan terstruktur, yang merupakan karateristik daribanyak operasi bisnis.


Selasa, 01 November 2016

Microsoft Visual Studio Express Compiler Bahasa Program C/C++


Microsoft Visual Studio Express adalah kumpulan freeware lingkungan pengembangan terpadu (IDE) yang dikembangkan oleh Microsoft yang merupakan versi ringan dari Microsoft Visual Studio. Gagasan edisi ekspres menurut Microsoft adalah untuk menyediakan efisiensi, mudah digunakan dan mudah dipelajari bagi pengguna IDE selain pengembang perangkat lunak profesional, yaitu seperti penggemar dan mahasiswa. Versi final telah dirilis pada 19 November 2007 dan paket layanan versi 1 (Service pack 1) dirilis pada 11 Agustus 2008.


Sejalan dengan semakin populer sejak Visual Studio 2005 Express Editions, edisi ini akan selalu bebas biaya. Visual Studio 2008 Express Editions memerlukan Windows XP atau versi Windows berikutnya; Windows NT 4.0, Windows 2000 dan Windows 9x tidak lagi didukung. Visual Studio 2005 Express Editions dapat diinstal pada Windows 2000 SP4. Pada akhir April 2009, Microsoft telah menghentikan semua versi sebelumnya dari Visual Studio Express, termasuk 2005. Hal ini tidak mungkin lagi untuk memperoleh versi sebelumnya di Microsoft website.

Gambar. Menjalankan Microsoft Visual Studio Express 2013 di Windows 10


Visual Studio Express terdiri dari produk-produk yang terpisah sebagai berikut:

·         Visual Basic Express

·         Visual Web Developer Express

·         Visual C++ Express

·         Visual C# Express

·         SQL Server Express



1.      Visual Basic Express

Terlepas dari kenyataan bahwa Visual Basic Express adalah versi ringan Visual Studio, beberapa perbaikan tetap dibuat pada Visual Basic 2008 untuk memperbaiki kekurangan pada Visual Basic 2005. Visual Basic 2008 Express mencakup perbaikan dari Visual Basic 2005 Express:

1)      Termasuk visual desainer Windows Presentation Foundation dengan nama kode "Cider".

2)      Debugs saat runtime

3)      Dukungan IntelliSense yang lebih baik

o    Perbaikan kesalahan ejaan umum

o    Memperbaiki sintaks yang tidak valid

o    Menyediakan saran untuk nama kelas ketika kelas-kelas tertentu tidak ditemukan

Express Editions (2005 dan 2008) kebanyakan memiliki keterbatasan yang sama sebagai berikut:

·         Tidak ada IDE dukungan untuk database selain SQL Server Express dan Microsoft Access.

·         Tidak ada dukungan untuk Aplikasi Web dengan ASP.NET (ini justru bisa dilakukan dengan Visual Web Developer Express, meskipun non-Express versi Visual Studio memungkinkan baik web dan jendela-jendela aplikasi dari IDE yang sama).

·         Tidak ada dukungan untuk mengembangkan perangkat mobile (tidak ada template atau emulator).

·         Tidak ada Crystal Reports.

·         Lebih sedikit proyek template (misalnya Windows jasa template, template Excel Workbook).

·         Terbatas pilihan untuk debugging dan breakpoints.

·         Tidak ada dukungan untuk membuat Windows Services (Dapat diperoleh melalui proyek download template).

·         Tidak ada dukungan untuk OpenMP.



2.      Visual Web Developer Express

Visual Web Developer Express adalah sebuah freeware tool pengembangan web yang memungkinkan pengembang web untuk mengevaluasi perkembangan dan kemampuan mengedit di edisi lain dari Visual Studio 2008 tanpa dikenakan biaya. Fungsi utamanya adalah untuk menciptakan situs web ASP.NET. Ini memiliki interface WYSIWYG, drag-and-drop user interface designer; disempurnakan kode HTML & editor; database explorer; dukungan untuk teknologi web lainnya (misalnya, CSS, JavaScript, XML), dan terpadu, desain-waktu validasi untuk standar termasuk 1.0/1.1 XHTML dan CSS 2.1.

VS2005 tidak memiliki fitur tertentu, seperti Aksesibilitas Checker; kemampuan untuk menciptakan Proyek Perpustakaan Kelas standalone (yang dapat dilakukan oleh spesifik-bahasa lain Express Editions); extensibility support diperlukan untuk menjalankan add-in pihak ketiga, makro dan beberapa fitur-fitur lainnya.

Web Developer VS2008 Express SP1 mendukung kedua kelas perpustakaan dan proyek-proyek Aplikasi Web, yang tidak didukung di VS2005 Express. Hal ini juga termasuk baru perancang HTML terpadu didasarkan pada Microsoft Expression Web. Namun, fungsi untuk mempublikasikan situs Anda tidak hadir dalam edisi ini.



3.      Visual C++ Express

Visual C++ 2008 Express bisa membangun aplikasi native dan non-managed. Termasuk Windows Platform SDK yang dapat digunakan untuk membangun aplikasi yang menggunakan Win32 API. Aplikasi menggunakan MFC atau ATL memerlukan Standard Edition atau lebih tinggi, dan tidak dapat dikompilasi dengan Express Edition.

Banyak proyek Open Source telah memulai proyek menyediakan file yang dibuat dengan Visual C++ Express; contohnya Irrlicht dan Ogre. Modding kit untuk mesin komersial, seperti Valve's Source engine, juga mendukung sistem pengembangan ini.

Visual C++ 2008 Express Edition dapat digunakan untuk mengkompilasi .NET serta aplikasi Win32 segera setelah instalasi. Namun, mengkompilasi native aplikasi 64-bit melalui IDE tidak didukung tanpa konfigurasi terlebih dahulu. Jika Windows SDK yang bisa didapatkan secara gratis terinstal, aplikasi 64-bit dapat dibangun pada baris perintah dengan menggunakan cross-compiler x64 (Cl.exe) disertakan dengan SDK. Benar integrasi 64bit compiler untuk edisi Visual C++ 2008 Express adalah mungkin, namun tetap rumit.

Visual C++ 2008 Express tidak mendukungan OpenMP, 64-bit compiler, atau editor sumber daya. Semakin tinggi edisi Visual Studio, khususnya Profesional dan Team Suite edisi, maka akan memiliki fitur ini.



4.      Visual C# Express

Daftar breakpoints dimana pengguna dapat mengendalikan fitur breakpoint telah dihilangkan.

Modus refactoring berikut juga dihapus:

·         Encapsulate lapangan

·         Promosikan lokal ke parameter

·         Susun ulang parameter

·         Hapus parameter

·         Ambil antarmuka

Ini secara efektif mengurangi kemampuan refactoring Visual C# Express untuk Mengganti Nama dan Mengekstrak Methods.

Para pengembangnya memberi alasan bahwa penghapusan ini untuk "menyederhanakan C# Express untuk pengguna". Namun hal ini menciptakan kontroversi karena beberapa pengguna akhirnya mengklaim bahwa ini adalah fitur yang penting, dan bukannya menyederhanakan itu malah melumpuhkan efisiensi dari pengguna.

Kemampuan untuk melampirkan debugger yang sudah-proses berjalan juga telah dihapus, menghambat skenario seperti menulis Windows jasa dan melampirkan kembali debugger dibawah ASP.NET ketika kesalahan di bawah sesi debugging asli menyebabkan breakpoints untuk diabaikan.

Banyak aplikasi yang dibuat menggunakan Microsoft Visual Studio Express ini, salah satu contohnya adalah XPS Annotator yang ditulis menggunakan Visual C# Express.


5.      SQL Server Express

SQL Server Express adalah sebuah freeware, ringan, dan edisi distribusi Microsoft SQL Server. Ini memberikan solusi penyimpanan data yang terintegrasi untuk pengembang ketika menulis aplikasi Windows dan situs Web yang memiliki dasar kebutuhan penyimpanan data . SQL Server Express menggantikan MSDE 2000 dan secara signifikan memperluas pada set fitur.

SQL Server Express Edition memiliki keterbatasan berikut:

·         Terbatas untuk satu CPU fisik

·         Kurangnya dukungan fitur-fitur enterprise

·         Satu GB batas memori untuk buffer pool

·         Database memiliki ukuran maksimum 4 GB

·         Tidak ada Data mirroring dan / atau pengelompokan

·         Tidak ada alat profiler

·         Tidak ada workload throttle

·         Tidak UI untuk impor / ekspor data ke tabel

·         Tidak ada proses latar belakang Agen Server



6.      Ekstenbilitas

Visual Studio adalah extensible untuk lingkungan, pada akhirnya terdiri dari inti "shell" yang melaksanakan seluruh perintah, jendela, editor, jenis proyek, bahasa, dan fitur-fitur lainnya melalui modul-modul loadable dinamis disebut "paket". Microsoft mendorong dan mendorong mitra pihak ketiga untuk membuat modul untuk Visual Studio melalui program VSIP gratis. Namun, menurut Dan Fernandez, Microsoft "membuat keputusan bisnis untuk tidak membiarkan pihak ke-3 membuat modul-modul di versi Express".

Rabu, 12 Oktober 2016

TEKNOLOGI INFORMASI DAN PERANGKAT KERAS KOMPUTER


Pengantar
Pada kesempatan kali ini aku mau post tentang Teknologi Informasi dan Perangkat Keras Komputer. Disini aku akan bahasa tentang apa sih itu komputer, perangkat keras, kategori komputer, komponen dan konsep dasar komputer dan banyak lagi informasi yang aku bagikan di blog ini. Baiklah langsung saja ke penjelasan apa sih itu komputer ? Komputer adalah alat bantu untuk mengelola masalah komputasi dari komponen yang saling berhubungan yang mempunyai fungsi tertentu dalam mengelola informasi.
Ketika kita berbicara tentang komputer tidak lepas dari perangkat keras yang paling dekat dengan kita selain daripada komputer terdapat juga laptop, pc, dan smartphone untuk saat ini selalu kita jadikan panutan terutama seseorang yang bergelut di dunia teknologi dan komputering.

Kategori Komputer :
1. Mainframe
Mainframe Computer
Mainframe adalah komputer berukuran besar sekitar besar lemari pakaian, mempunyai memori sangat besar dan kemampuan pemorosesan yang sangat cerdas. Kenapa mengunakan mainframe ?

·         Cakupannya luas dan terhubung dengan jaringan internet yang baik dengan OS/390,
·         Tidak mempunyai banyak client sehingga client dapat leluasa,
·         Penghematan ukuran, energi dan perawatan.


2. Midrange
Midranger Computer

Midrange sering juga disebut server tetapi berbentuk pc, komputer berukuran lebih kecil ini baik dalam hal harga maupun kemampuannya yang mendukung daripada mainframe. Bekerja mengunakan linux dan windows server.

3.Komputer Mikro
Komputer Mikro
Komputer mikro adalah komputer yang layaknya kita gunakan sekarang atau yang sering kita sebut dengan PC atau Personal Computer. Merupakan komputer yang dapat ditempatkan diatas meja(dekstop) atau dipindahkan dari satu ruang ke ruang yang lain(portable). Komputer mikro dibagi berdasarkan :
1)      Berdasarkan tujuan penggunaanya : Laptop, notebook, desktop, portable.
2)      Berdasarkan pemanfaatanya : .komputer rumah, komputer pribadi, dan sistem multiguna.

4.Super Komputer
Super Computer

Super komputer berkemampuan sangat besar dan canggih yang digunakan untuk tugas yang memerlukan kalkulasi sangat kompleks dan cepat dengan ratuasan ribu faktor variabel.


Konsep dan Komponen Sistem Komputer

1.      Input :
Input Device adalah perangkat keras komputer yang berfungsi sebagai alat untuk memasukan data atau perintah ke dalam komputer. Alat-alatnya adalah :
1)      Keyboard
2)      Pointing Device 
3)      Mouse 
4)      Touch screen
5)      Digitizer Grapich Tablet
6)      Scanner
7)      Microphone

2.      Output :
Output Device adalah perangkat keras komputer yang erfungsi untuk menampilkan keluaran sebagai hasil pengolahan data. Keluaran dapat berupa hard-copy (ke ertas), soft-copy (ke monitor), ataupun berupa suara. latnya antara lain adalah :
1)      Monitor
2)      Printer 
3)      Speaker


Central Processing Unit (CPU)
adalah komponen perangkat keras dalam komputer yang terdiri dari penyimpanan primer dan pemroses utama yang terdiri dari aritmaic logic unit dan control unit. berperanan untuk memproses arahan, melaksanakan pengiraan dan menguruskan laluan informasi menerusi system komputer. Unit atau peranti pemprosesan juga akan berkomunikasidengan peranti input , output dan storan bagi melaksanakan arahan-arahan berkaitan.
1.      ALU (Arithmatic and Logic Unit)
ALU merupakan bagian pengolah bilangan biner dari sebuah prosesor. ALU bertugas melakukan operasi-operasi aritmatika dan logika sesuai dengan instruksi yang diberikan. ALU juga merupakan salah satu bagian yang terpenting. Unit aritmetik logika (ALU) terdiri dari sirkuit elektronik yang membuatnya mampu melaksanakan operasi aritmatika dan logika. Ia mengeksekusi instruksi dan melakukan perhitungan (tambah, kali, kurang, dan bagi) dan perbandingan. ALU bekerja dengan register yang berbeda untuk menyimpan data atau informasi tentang tindakan terakhir yang dilakukan oleh unit logika. ALU mampu membandingkan huruf, angka, atau karakter khusus. Komponen dari rangkaian logika pada ALU adalah gerbanggerbang logika AND, OR, XOR, dan NOT yang dihubungkan pada multiplexer. Selain itu juga terdapat juga operasi shifter yang komponen dasarnya adalah multiplexer. Komponen ALU mendapatkan masukan data dari register dan sinyal kontrol dari CU. Untuk operasi ALU dengan dua masukan, diperlukan dua register 8-bit: ACC (accumulator) untuk masukan pertama dan temp (register sementara) untuk masukan kedua. Hasil dari operasi ALU ini adalah data 8-bit yang kemudian diteruskan ke register untuk menyimpan hasil operasi ini. Selain itu juga dihasilkan flag atau bit status. Flag ini akan diteruskan ke register yang menyimpan flag hasil dari operasi ALU. Untuk mempercepat pemrosesan data di dalam prosesor, selain CU dan ALU, prosesor juga membutuhkan memori dengan kecepatan yang sama dengan prosesor. Memori khusus yang diimplementasikan pada prosesor ini disebut register. Komponen utama penyusun register adalah flip-flop.

2.      CU (Control Unit)
adalah salah satu bagian dari CPU yang bertugas untuk memberikan arahan / kendali / kontrol terhadap operasi yang dilakukan di bagian ALU (Arithmetic Logical Unit) di dalam CPU tersebut. Output dari CU ini akan mengatur aktivitas dari bagian lainnya dari perangkat CPU tersebut. Pada awal-awal desain komputer, CU diimplementasikan sebagai ad-hoc logic
yang susah untuk didesain. Sekarang, CU diimplementasikan sebagai sebuah microprogram yang disimpan di dalam tempat penyimpanan kontrol (control store). Dimana fungsinya sebagai berikut :
1.      Mengatur dan mengendalikan alat-alat input dan output.
2.      Mengambil instruksi-instruksi dari memori utama.
3.      Mengambil data dari memori utama kalau diperlukan oleh proses.
4.      Mengirim instruksi ke ALU bila ada perhitungan aritmatika atau perbandingan logika serta mengawasi kerja.
5.      Menyimpan hasil proses ke memori utama.


3.      RAM ( Random Access Memory )
Untuk menyimpan program yang kita olah untuk sementara waktu. Dapat diakses secara acak ( dapat diisi/ditulis, diambil, atau dihapus isinya ). Struktur RAM terbagi menjadi empat bagian utama, yaitu:

i.  Input Storage Digunakan untuk menampung input yang dimasukkan melalui alat input.

ii. Program Storage Digunakan untuk menyimpan semua instruksi-instruksi program yang akan diakses.

iii. Working Storage Digunakan untuk menyimpan data yang akan diolah dan hasil pengolahan.

iv. Output Storge Digunakan untuk menampung hasil akhir dari pengolahan data yang akan ditampilkan ke alat output.

4.      ROM ( Read Only Memori )
Memori yang hanya bisa dibaca dan berguna sebagai penyedia informasi pada saat komputer pertama kali dinyalakan. Hanya dapat dibaca, tidak bisa mengisi sesuatu ke dalam ROM, sudah diisi oleh pabrik pembuatnya. Berupa sistem operasi yg terdiri dari program pokok, seperti program untuk mengatur penampilan karakter di layar, pengisian tombol kunci papan ketik untuk keperluan kontrol tertentu, dan bootstrap program. Program bootstrap diperlukan pada saat pertama kali sistem komputer diaktifkan (booting), yang dapat berupa  cold booting atau  warm booting.

5.      PROM (Programmable Read Only Memory), yang hanya dapat diprogram satu kali.

6.      EEPROM (Electrically Erasable Programmable Read Only Memory),  dapat dihapus secara elektronik dan dapat diprogram kembali.

7.      Adress.


Tentang Swap
Fungsi swap adalah fungsi yang digunakan untuk menukarkan dua buah nilai. Fungsi ini sangat dibutuhkan ketika kita hendak membuat aplikasi pengurutan data (sorting). Pada pemrograman C++, fungsi ini sudah tersedia dengan fleksibilitas yang tinggi. Artinya bisa digunakan untuk menukar dua buah nilai dengan tipe data yang bermacam-macam. Walaupun sudah tersedia dan tinggal pakai, tidak ada salahnya kita belajar bersama-sama bagaimana membuat fungsi ini. Contoh penggunaan fungsi swap yang sudah tersedia juga akan tersedia pada source code yang diberikan.
Sekilas Tentang Pointer
Pointer sudah pernah dibahas pada tulisan, pengenalan bahasa C++ (bagian 3). Pada bagian ini akan dijelaskan secara singkat penggunaan sederhana dari pointer.
Konsep penting yang perlu diingat adalah, pointer biasanya digunakan untuk menunjuk ke variabel yang lain. Untuk itu pointer membutuhkan alamat dari variabel yang ditunjuk. Setelah mengetahui alamat, dengan menggunakan pointer kita bisa mengubah nilai dari variabel yang ditunjuk.
Kita sudah tahu bahwa untuk membuat sebuah variabel, kita perlu menentukan tipe dari variabel dan kita juga perlu memperhatikan aturan pemberian nama dari variabel tersebut. Misal kita akan membuat variabel dengan nama data dan bertipe int, maka kita dapat menulisnya sebagai berikut:

int data;

Jika kita hendak membuat pointer. Kita cukup mendambahkan tanda bintang setelah tipe data.

int* myPointer;

pada deklarasi ini, kita membuat sebuah pointer dengan nama myPointer. Pointer ini hanya bisa menunjuk ke variabel yang bertipe int.
Seperti yang sudah dijelaskan sebelumnya, untuk menunjuk sebuah variabel, pointer membutuhkan alamat dari variabel yang hendak ditunjuk. Dengan menggunakan tanda '&' kita bisa mendapatkan alamat dari sebuah variabel. Berikut ini ditunjukkan bagaimana caranya myPointer bisa menunjuk ke alamat dari data.

myPointer = &data;

Variabel sebenarnya hanya merupakan nama lain dari alamat dimemori. Kita tentu akan lebih mudah mengingat nama seperti data dari pada sebuah alamat dimemori, 0x22ff5c.
Sekarang diandaikan kita memberikan nilai 10 (sepuluh) pada variabel data

data = 10;

pernyataan tersebut sebenarnya, kita menyimpan nilai 10 ke alamat tertentu dimemori yang diwakili dengan nama data. Karena myPointer telah menunjuk ke alamat dari data, ini berarti myPointer juga menunjuk ke nilai 10.
Untuk mengakses (misal membaca) nilai yang ditunjuk oleh pointer, kita bisa menggunakan tanda '*' didepan nama dari pointer.

cout<< *myPointer ;

Keluaran dari pernyataan ini adalah angka 10 akan tercetak ke layar. Keluaran ini akan sama jika kita menampilkan nilai dari variabel data.

cout<< data;

Kita juga bisa mengubah nilai yang ditunjuk oleh pointer, seperti berikut:

*myPointer = 15;

Setelah pernyataan diatas maka keluaran dari kedua pernyataan berikut akan sama persis yaitu menampilkan angka 15.

cout << data;
cout << *myPointer;

Membuat Fungsi Swap
Untuk membuat sebuah fungsi, kita bisa memulai dengan membayangkan bagaimana caranya kita memanggil fungsi yang akan kita pakai. Sebagai contoh fungsi swap yang akan kita buat dipanggil dengan cara sebagai berikut:

int a = 5;
int b= 7;
mySwap(&a,&b);
cout << a; // harapannya tertampil 7
cout << b; // harapannya tertampil 5

berangkat dari skenario di atas, tampak bahwa fungsi swap memiliki dua buah parameter pointer dengan tipe int. Untuk itu bentuk fungsi kita kira-kira seperti berikut:

void mySwap (int* x, int* y)
{
//body dari swap
...
}

pada kasus ini kita tidak membutuhkan nilai kembalian sehingga tipe data dari return value dibuat void. Kenapa tidak butuh ? Silahkan melihat lagi skenario yang kita buat di atas.
Karena fungsi kita hendak menukarkan nilai x dan nilai y (ingat x dan y adalah pointer, sehingga kita butuh tanda * untuk mengubah nilai), maka kita membutuhkan sebuah penampung (variabel tambahan) untuk melakukan proses penukaran ini.

Buf = *x;// buf bernilai x
*x = *y; // x bernilai y
*y = buf;// y bernilai x

pada contoh diatas, penampung yang kita pakai adalah Buf. Karena Buf dipakai untuk menampung nilai bertipe int, maka Buf juga harus dideklarasikan bertipe int.

int Buf;

Dengan demikian bentuk fungsi kita selengkapnya, kira-kira seperti berikut:

void swap (int* x, int* y)
{
//body dari swap
int Buf;
Buf = *x;
*x = *y;
*y = Buf;
}

Pemanggilan fungsi dengan cara mengirimkan alamat dari variabel, dikenal dengan istilah passing parameter by reference.
Di dalam bahasa C++, diperkenalkan teknik baru untuk pengiriman parameter berupa reference dengan menggunakan tanda '&'. Dengan menggunakan teknik ini, cara pemanggilan fungsi swap bisa diskenariokan sebagai berikut:

int a = 5;
int b= 7;
swap(a,b); // perhatikan tanda & dihilangkan
cout << a;
cout << b;

Perubahan juga perlu dilakukan pada fungsi kita sebagai berikut:

void swap (int& x, int& y) //perhatikan tanda &
{
//body dari swap
int Buf;
Buf = x;// tanda * juga dihilangkan
x = y;
y = Buf;
}



Tentang Cheat Engine

Cheat Engine adalah perangkat lunak (software) open source yang dirancang untuk dapat memberikan kita jalan pintas dalam permainan/game, namun Cheat Engine ini juga memiliki berbagai alat-alat khusus untuk membantu menelusuri (debugging) permainan atau bahkan aplikasi biasa (normal). 
Cheat Engine atau yang biasa juga disebut CE adalah memory scanner atau editor hexsa yang diciptakan oleh Eric Heijen untuk sistem operasi (Operating System / OS) Windows. Cheat Engine digunakan untuk berbuat curang di berbagai game di komputer. 
Semua program tersebut mencari nilai yang dimasukkan oleh pengguna dengan pilihan yang luas, seperti “Nilai awal tidak dikenal" (Unknown Initial Value) dan "Nilai yang berkurang" (Decreased Value). Cheat Engine dapat juga membuat trainer mandiri (Standalone Trainer) yang dapat dioperasikan dengan bebas dari Cheat Engine.

Cheat Engine ini disertai dengan pengamat memori atau penyaring memori (memory scanner) untuk melakukan pengamatan (scan) terhadap variabel (variable) yang digunakan dalam permainan atau aplikasi dan membolehkan kita untuk merubah variabel tersebut, tetapi di Cheat Engine ini juga disediakan fungsi penelusuran (debugger), peretas waktu (speedhack), membongkar (disassembler), pembuatan trainer (trainer maker), alat manipulasi direct3d (direct3d manipulation tools) dan alat-alat pemeriksaan sistem (system inspection tools).

Cheat Engine dapat melihat dan membongkar memory dari suatu proses dan membuat perubahan untuk memberikan keuntungan pengguna seperti nyawa tidak terbatas, waktu atau amunisi. Cheat Engine juga memiliki alat untuk memanipulasi Direct3d dan OpenGL , yang fungsinya membolehkan pengguna untuk menembus dinding, pembesaran dan pengecilan, dan dengan penataan konfigurasi yang handal dapat mengizinkan Cheat Engine untuk menggerakan mouse untuk mendapatkan tekstur tertentu ke pusat, hal ini biasa digunakan untuk membuat Aimbots.