Category Archives: Advance C

Implement C/ C++ Lib using ANDROID NDK on Android

Android uses Java as it’s native programming language. The developers should use Java to develop Android app. Unfortunately, in some case developers can’t use Java to develop. For example : to communicate with network protocol interface/ radio interface, developers better use C/ C++ library or write an Android program using C/ C++. In order to make it works, we will use Android NDK.
“The NDK is a toolset that allows you to implement parts of your app using native-code languages such as C and C++. For certain types of apps, this can be helpful so you can reuse existing code libraries written in these languages, but most apps do not need the Android NDK (taken from developers.android.com)”. Here is the steps how to do that.
1. Download Android NDK here : https://developer.android.com/tools/sdk/ndk/index.html
2. After download Android NDK, I got following file android-ndk-r10c-windows-x86_64.exe
3. Move the file into sdk directory of your Android Studio Installer

4. Just click the file, it will extract it self.
5. After self extraction successful, we will have file and directory like following

6. Create simple project using Eclipse ADT or Android Studio like following.



7. Create a directory called ‘jni’ within the root application. Like following

Jni ==> java native interface
8. Within jni directory, create a file called jni.h ( this file contains header ) and type following.
===> continue

5 metode sorting dan implementasinya dalam bahasa C

Sorting alias pengurutan, merupakan suatu hal yang sangat dibutuhkan dalam  pemrograman tingkat tinggi. Ada 5 metode sorting, yaitu :

  1. Buble sort merupakan metode pengurutan yang paliong lambar daripada metode pengurutan lainnya. karena, metode ini, melakukan pengurutan dengan cara membandingkan 1 elemen dengn yang lain selama 2 kali looping. Namun, metode ini merupakan metode yang paling mudah digunakan daripada metode yang lainnya
  2. Selection sort yaitu pengurutan dengan cara menyeleksi elemen – elemen ada dalam suatu array. Terdapat 2 kali for loop dalam metode ini, loop yang pertama melakukan seleksi terhadap elemen awal. Loop kedua melakukan seleksi terhadap elemen kedua. Lalu membandingkan antara kedua loop tersebut
  3. Insertion Sort, disebut-  sebut sebagai  metode pertengahan . Artinya, metode ini memiliki kecepatan rata- rata antara metode primitif(buble dan selection) dan modern(merge dan quick). metode ini, didasarkan pada sebuah key yang diambil pada elemen ke-2 pada sebuah array, lalu menyisipkan elemen tersebut jika branching terpenuhi
  4. Merge Sort merupakan algoritma sorting yang sudah menerapkan teknik rekursif. Metode ini bisa dibilang cukup sulit dan membutuhkan pemikiran yang agak berat. Namun, kecepatan yang dihasilkan jauh melebihi metode primitif
  5. Quick Sort . Inilah metode sorting yang tercepat diantara metode 5 metode sorting yang paling umum digunakan. Selain menerapkan teknik rekursif devide and conquer, Teknik ini juga didasarkan pada pivot yang menjadi kunci perbandingan.

Berikut source code-nya :

Buble Sort Continue reading

Hanoi Tower Recursive Mode

Menara hanoi adalah sebuah teka – teki kuno.Terdapat tiga buah menara (A,B,C) dengan menara awal yang berisi piringan yang tersusun rapi mulai dari yang terbesar (dibawah) hingga yang terkecil. Untuk memecahkan teka- teki ini,piringan yang berada di menara awal (A) , harus dipindahkan ke piringan terakhir (C). Dengan syarat :

a.) Sebuah piringan hanya bisa ditempatkan diatas piringan yang lebih besar.

b).Hanya ada 1 piring yang berpindah pada 1 kali perpindahan

Sehingga dengan pola pikir rekursif akan tercipta suatu fungsi untuk memindahkan prirngan- piringan tersebut.

berikut source code-nya : Continue reading

Program Tulisan Berjalan Di C/ ANSI

Program ini, merupakan implementasi antara fungsi delay / sleep dan fungsi gotoxy. Seperti yang kita tahu, fungsi delay sudah diwakili oleh sleep. Namun, bagaimana dengan gotoxy(), apakah ada di C/ANSI, Jawabannya adalah tidak ada. Terus, apa solusinya?  Otomatis, kita harus membuat suatu library sendiri/ membuat fungsi gotoxy() sendiri. Karena, pada dasarnya fungsi gotoxy pada turbo/ borland c++ adalah buatan mereka sendiri yang sifatnya propietary.

Berikut merupakan library/ fungsi gotoxy()


int gotoxy(int x, int y)
{
 char essq[100];
 char xstr[100];
 char ystr[100];

 sprintf(xstr, "%d", x);
 sprintf(ystr, "%d", y);

 essq[0] = '\0';

 strcat(essq, "\033[");
 strcat(essq, ystr);
 strcat(essq, "d");
 strcat(essq, "\033[");
 strcat(essq, xstr);
 strcat(essq, "G");

 printf("%s", essq);

 return 0;
}

Sourcecode Implementasi pada program tulisan berjalan Continue reading

Delay On C (Fungsi Delay dalam C)

Delay (perlambatan), merupakan suatu fungsi yang biasanya digunakan untuk memperlambat kerja komputer dalam melakukan komputasi/ action. dalam implementasinya, fungsi delay biasa digunakan oleh programmer robot untuk mengatur kecepatan akurasi dan presisi antar komponen yang bergerak dalam robot.

Namun, masalahnya apakah ada fungsi delay untuk C yang dijalankan di LINUX ?. karena seperti yang kita tahu fungsi delay adalah library tambahan yang diciptakan oleh BORLAND untuk c++. So, apa solusinya ?

Solusinya adalah fungsi sleep. fungsi ini secara default sudah ada di dalam C/ANSI dengan menambahkan header <unistd.h>. Namun, satuannya adalah second, yang jauh berbeda dengan fungsi delay yaitu milisecond. Sehingga, secara otomatis, fungsi sleep jauh lebih lambat dari pada fungsi delay.

Contoh penggunannya :


#include <stdio.h>#include <unistd.h>
 int main(){

for(int a=0;a<10;a++){

printf("Iterasi ke %d\n",a+1);

sleep(1);

if(a==10){

break;

}

}		return (0);

}