Wednesday 28 February 2018

C Komen Comments

Kita harus membiasakan menggunakan komen (comments) dalam pembuatan program, walaupun kelihatannya simple. Saat kita membuat program yang simple, comments dirasakan sangat memakan waktu, tapi bila program yang kita buat sudah lebih dari 100 baris (masih bisa didebatkan, tapi kalau sudah mencapai 1000 baris, sudah pasti tidak diragukan lagi) kita memerlukan comments ini.

Comments memudahkan kita mencari baris yang hendak kita perbaiki atau modifikasi. Tanpa comments pencaharian akan membingungkan, dan ada kemungkinan kita memperbaiki baris yang bukan seharusnya kita perbaiki.

Tanpa comments, bila kita sisir baris-baris program yang telah kita buat, sering kali tampak tidak seperti yang kita harapkan, terutama saat kita harus berhenti pembuatan program karena harus tidur, dan besoknya kita akan meneruskan program tersebut, ini yang selalu menjadi masalah, saat kita melanjutkan pembuatan program kita lupa apa yang kita kerjakan kemarin dibaris mana dan fungsinya apa baris tersebut, setelah dicek dan memakan waktu yang panjang, kita bikin kesimpulan bahwa program yang kita buat kemarin tidak nyambung lg, padahal semua baris programnya bisa berkerja dengan baik.

Ada 2 (dua) cara untuk membuat comments ini:

  1. Dengan comments baris, diawal baris kita sisipkan  "//", maka pada baris tersebut merupakan comment, dan tanpa akhiran.
    contoh :
    // comment ini akan berakhir sendirinya. comment yang hanya 1 baris.
  2. Dengan blok comments. Dengan comments ini kita bisa membuat comment berbaris-baris sepanjang kita mau. Untuk membuat comments demikian kita awali comment dengan tanda "/*" dan diakhiri dengan "*/".
    Contoh:
    /*blok comment
    kita bisa membuat comment ini
    hingga berbaris-baris
    sampai ketemu tanda -> */
Jangan takut comments kita akan masuk ke execute file setelah kita compile nanti. Compiler tidak akan membaca atau akan melompati bagian comment. sehingga bila ada orang iseng yang membuka/membedah  program kita, bagian comment tidak ada.

Comments tidak harus berada pada baris baru, comment bisa kita tulis didalam baris program yang kita buat, untuk mengingatkan kita pada hal penting pada baris program tersebut yang jarang atau kita tidak familiar dengan kondisi tersebut. Contoh:

int cariMantan (int tinggi, int tahun, int cuci /*apa ini cuci? cuci adalah cucah cinta lagi, atau yang seperti itulah */ );


int ukuranSepatu = 40 ; // ukuran sepatu yang terakhir digunakan/dibeli

Tapi aturan diatas tidak berlaku bila berada diantara string literal. // atau /* ...*/ oleh compiler merupakan string juga.

printf ("Hello World /*cetak tulisan hello world */ \nhello world //cetak lagi ");

contoh diatas akan dicetak seperti:

Hello World /*cetak tulisan hello world */ 
hello world //cetak lagi

Pada blok comments compiler melewati bagian /* sampai */, jika didalam blok kita isi dengan apapun, compiler tidak akan membacanya sampai ketemu */.

Kenyataanya comment ini jiplakan dari C++ yang ditambahkan kemudian kedalam C oleh C99 standard, sehingga comment tersebut disebut "C++ style", walaupun sebenarnya merupakan jiplakan juga dari sebuah program yang mempelopori C, yaitu BCPL (Basic Combined Programming Language).

Comments ini juga berguna untuk melakukan percobaan, bila kita frustasi menulis ulang secara terus menerus karena compiler menemukan sebuah error yang tidak jelas. Illustrasinya seperti dibawah ini:

percobaan pertama /*kedua*/ dilakukan ;

maka hasilnya adalah percobaan pertama dilakukan. Karena kata "kedua" merupakan comment saja.





C Konstanta (Constants)

Ada cara lain untuk mengganti variabel yang bisa kita pakai, yaitu dengan konstanta / constants.
Konstanta digunakan untuk memudahkan penggunaan variable yg tidak berubah setelah eksekusi, nilai fix ini juga disebut literals.

Konstanta dapat diisi dengan semua basic data type seperti integer literals, float point literals, karakter literals, dan string literal.

Format konstanta:

#define (Nama Konstant) (Value)


Sekali lagi Constanta ini sama seperti variable, tetapi value nya tidak bisa berubah.
Misalnya gravitasi g = 9,8

Kita bisa tulis :

#define GRAVITASI 9.8

Integer literals
Sebuah integer literals bisa menggunakan decimal, oktadecimal, atau hexadecimal. Dengan awalan khusus 0x atau 0X untuk hexadesimal, 0 untuk oktadecimal, dan tanpa awalan untuk decimal.
Dan bisa juga menggunakan akhiran U dan atau L untuk unsigned dan long. Boleh menggunakan hurup kapital maupun hurup kecil.

Contoh:
1234
3543u
0x5aL
057

Floating-point Literals
Floating-point literals memiliki bagian integer, dan decimal atau pecahan atau bisa juga kita menggunakan exponen.

Penggunaan exponen e bisa menggunakan hurup kecil "e" atau kapital "E".

contohnya:
3.14
314e-2

Character Constants
Dengan character contant kita menggunakan sebuah karakter saja, seperti "a", "b", atau escape sequence seperti "\n" atau juga menggunakan karakter universal seperti "\u0068"

#include <stdio.h>

#define Ktab "\t" /*membuat tabulasi*/
#define Knew "\n" /*membuat garis baru*/

int main()
{
     printf ("Hello" Ktab "World" Knew);
}


String Literals
String juga bisa dipakai sebagai konstant, Seperti yang kita tahu (bila anda tau maksudnya) string memuat lebih dari satu karakter atau dengan kata lain merupakan kombinasi dari karakter, dan karakter yang dapat dimasukan tidak hanya hurup atau angka saja, tetepi escape sequence (\n, \t, dsb), spasi dan universal karakter juga bisa, value dari string dibuat didalam tanda petik (").

Kita juga bisa membuat tidak hanya satu baris, lebih dari satu baris pun bisa dilakukan.

#include <stdio.h>

#define Akata "HelloWorld" 

#define Akalimat "Hello world"
#define AmultiBaris "Hello world\nHELLO WORLD"
#define AkarakterUni "\u03b1 \u0024" 

int main()

{
printf(Akata "\n-------\n");
printf(Akalimat "\n-------\n");
printf(AmultiBaris "\n-------\n");
printf(AkarakterUni );

return 0;
}

hasilnya:

HelloWorld
-------
Hello world
-------
Hello world
HELLO WORLD
-------
α $



const Keyword
Kita juga bisa menggunakan perintah const sebagai kontant dengan data type yang specifik.
Format const :

const (type) (namaVariable)  = (value)

contoh:

#include <stdio.h>

const float Acpi = 3.14;

int main()
{
printf("%f",Acpi);
return 0;
}



Untuk membedakan antara const dan define, pada umumnya nama define ditulis dengan hurup kapital.

#define AHELLO "hello world"


Saturday 24 February 2018

C Statement for

Statement for digunakan untuk looping sampai kondisi tertentu tercapai, ataupun selamanya. Statement for digunakan lebih detail dibandingkan dengan statement while pada contoh sebelumnya. Statement for memiliki tiga (3) bagian yang terpisah dengan semikolon (;)

for (x=0 ; x <= 50 ; x++)
      printf ("Hello World");

Bila pada statement while menunggu sampai kondisi berubah (dari true menjadi false atau sebaliknya), looping baru terhenti, tidak ada batasan berapa banyak yang harus diloop, sementara statement for memiliki batasan banyaknya looping yang harus dilakukan.

contoh Statement for
-----------------------------------------------------------------------
#include <stdio.h>
main()
{
int Ainci;
float Acm;

for (Ainci=0 ; Ainci <21 ; Ainci++){
Acm=2.54 * Ainci;
printf (" %d\t%f\n",Ainci,Acm);
}

}
-------------------------------------------------------------------------
hasilnya adalah :

0 0.000000
1 2.540000
2 5.080000
3 7.620000
4 10.160000
5 12.700000
6 15.240000
7 17.780001
8 20.320000
9 22.860001
10 25.400000
11 27.940001
12 30.480000
13 33.020000
14 35.560001
15 38.099998
16 40.639999
17 43.180000
18 45.720001
19 48.259998
20 50.799999



Perbedaan antara statement while dan for :

while:
 while (Ainci <= Abesar)

for:
for (Ainci=0 ; Ainci <21 ; Ainci++)

Pada statement while looping dilakukan tanpa mengatur perubahan Ainci dan Abesarnya, looping dilakukan sampai kondisi Ainci >Abesar, sedangkan pada statement for ada batasan yang harus dilakukan.

Kita bedah perintah for (Ainci=0 ; Ainci <21 ; Ainci++)  ini.

Ainci = 0 merupakan awal dari perhitungan, tidak selalu harus 0 (nol),
Ainci < 21 looping akan berhenti bila nilai Ainci  setidaknya 21.
Ainci++ adalah penjumlahan, dengan kata lain Ainci++ sama dengan
Ainci(baru) = Ainci(yang sedang diproses) +1

--

Tuesday 20 February 2018

C Variables and Arithmetic Expressions

Ada program yang bisa membuat variable dimana saja, Tapi dengan C tidak bisa, kita harus membuat variable tersebut terlebih dahulu, dan memberika data type yang diinginkan. Tujuannya adalah compiler akan menyiapkan block memory dengan ukuran yang tepat untuk variable tersebut. Proses pembuatan variable ini dinamakan "declaration".

Integer (int) data type yang sering digunakan, data type ini menyimpan data integer (aduh! apaan nih?) integer adalah bilangan bulat seperti 0, 1, 2, 3, 4, ... dst, dan negatif integer adalah -1, -2, -3, ... dst.

langsung ke program... Kita akan buat program yang mengkonversi ukuran inci ke cm.

#include <stdio.h>

main() 
{
        /* mengkonversi inci menjadi 
        * cm */
int Acm, Ainci;
int Akecil, Abesar;

Akecil = 0;
Abesar = 10;

Ainci = Akecil;
while (Ainci <= Abesar) {
Acm=2.54 * Ainci;
printf (" %d\t%d\n",Ainci,Acm);
Ainci=Ainci+1;
}
}

Save > masukan kedalan direktori yang kita mau, beri nama file disertai ext .c .
Build > Compile / F8
Build > Build / F9
Build > Execute /F5

dan hasilnya adalah :

 0 0
 1 2
 2 5
 3 7
 4 10
 5 12
 6 15
 7 17
 8 20
 9 22
 10 25



Hasil konversi yang kita lakukan sangat tidak akurat, ini dikarenakan kita menggunakan data type int, yaitu bilangan bulat. Tapi saat ini bukan masalah keakuratan hasil, Sekarang kita mencoba data type int.

#include <stdio.h>

main() 
{
        /* mengkonversi inci menjadi 
        * cm */
int Acm, Ainci;
int Akecil, Abesar;

Akecil = 0;
Abesar = 10;

Ainci = Akecil;
while (Ainci <= Abesar) {
Acm=2.54 * Ainci;
printf (" %d\t%d\n",Ainci,Acm);
Ainci=Ainci+1;
}
}

apa yang terjadi disana>

#include <stdio.h>  
membuat library

main()  
membuat function utama

{
awal block dari function


/* mengkonversi inci menjadi 
* cm */
komen, tidak akan dibaca oleh compiler, /* awal block dan */ akhir block komen, tidak masalah dengan jumlah baris atau terpotong dengan baris baru.

int Acm, Ainci;
int Akecil, Abesar;
membuat variable menggunakan data type integer (int) 
A (a besar didepan kata variable seperti Acm atau Ainci) hanya untuk menandakan variable saja, boleh membuat nama variabel apa saja kecuali kata-kata yang digunakan keyword C.  
Penulisan variable langsung satu baris seperti int Acm, Ainci, Akecil, Abesar; tidak masalah, karena menggunakan data type yang sama.


Akecil = 0;
Abesar = 10;
memberikan nilai kepada variable Akecil = nol, dan Abesar = 10 (sepuluh)

Ainci = Akecil;
memberikan nilai kepada variable Ainci sama dengan nilai Akecil pada saat baris ini dibaca.

while (Ainci <= Abesar) {
Acm=2.54 * Ainci;
printf (" %d\t%d\n",Ainci,Acm);
Ainci=Ainci+1;
}
loop yang dilakukan berulang-ulang bila kondisi Ainci lebih kecil dari Abesar
     
     Acm=2.54 * Ainci;
     1 inci = 2.54 cm
     membuat perkalian 2.54 cm x Ainci yang menjadi nilai Acm
     
     printf (" %d\t%d\n",Ainci,Acm);
     mencetak pada layar dengan format seperti %d\t%d\n",Ainci,Acm 
     dimana 
                 %d pertama adalah dicetak sebagai integer yang nilainya adalah variable pertama yaitu Aimci
                 /t adalah tab
                %d pkedua adalah dicetak sebagai integer yang nilainya adalah variable kedua yaitu Acm
                 \n adalah garis baru

}
akhir dari main function

Karena hasil yang kita konversi tidak akurat (bilangan bulat int), kita coba membuatnya menjadi angka desimal dengan data type float dan menjadi seperti ini:
#include <stdio.h>

main() 
{
        /* mengkonversi inci menjadi 
        * cm */
int Ainci, Akecil, Abesar;
   float Acm;

Akecil = 0;
Abesar = 10;

Ainci = Akecil;
while (Ainci <= Abesar) {
Acm=2.54 * Ainci;
printf (" %d\t%f\n",Ainci,Acm);
Ainci=Ainci+1;
}
}

Perubahan int ke float seperti pada illustrasi dibawah ini:
float adalah variable pecahan. angka yang dibuat menggunakan float memiliki angka dibelakang koma.

%d Mencetak sebagai integer
%f Mencetak sebagai float
%6d Mencetak sebagai integer dengan setidaknya ada 6 karakter
%6f Mencetak sebagai float dengan setidaknya ada 6 karakter
%.2f      Mencetak sebagai float, dengan 2 karakter dibelakang koma
%o Mencetak okatadesimal
%x Mencetak hexsadesimal
%c Mencetak karakter (character)
%s Mencetak string

Monday 19 February 2018

C Program C pertama, Hello world

Sudah menjadi standar dunia, program pertama adalah "Hello world". Dan Program ini konon yang pertama kali mencetuskannya adalah C, dan ditiru oleh program lainnya. Sebuah program yang sangat terkenal.
Program "Hello world" adalah program yang menampilkan tulisan "Hello world" dilayar. Ya, itu saja. Tapi semua programer tahu ini program. Jadi bila kita tidak tahu, apa kata dunia. Jadi bila tidak ada C, maka (kemungkinan besar) tidak ada "Hello world", ya bila tidak ada C, kemungkinan ada program lain dengan program yang lain juga. Mari kita mulai.

Kita nyalakan dulu Raspberry pi nya, lalu pilih 🍓 (pake emoji strawberry, ga ada emoji rapsberry) Menu > Programming > Geany



dan tampilah window Geany


Lalu tulis :

#include <stdio.h>

void main (void)

{
          /* Cetak statement */
          printf ("Hello world!\n");
}



Lalu kita save (Ctrl+s) dengan nama hello.c
Sebelum kita save file dengan extention file .c , Geany tidak bisa mendeteksi program yang kita buat.
Setelah kita beri nama file dengan extention .c maka otomatis Geany akan meng-highlight command-command yang kita buat
Setelah itu kita compile dengan Build > Compile atau dengan menekan F8
Dan kemudian kita Build dengan Build > Build atau dengan tombol F9
Dan yang terakhir kita Run program dengan Build > Execute atau tombol F5





Kemudian kita coba meng-compile dengan gcc di terminal.
Buka Terminal lalu masuk kedalam directory dimana kita menyimpan file hello.c
setelah masuk kedalam directory kita compile dengan perintah:
gcc -o hasil hello.c






Nah sekarang kita liat kode yang kita buat baris per baris dari kode berikut ini:

#include <stdio.h>

void main (void)

{
          /* Cetak statement */
          printf ("Hello world!\n");
}

Mulai.........

#include <stdio.h>

ini namanya hash-include yang merupakan salah satu library dari C. Kita memerlukan library ini karena kita menggunakan salah satu command yang ada didalam library tersebut, yaitu printf.
stdio.h adalah singkatan dari standart input-output library.
Hash-include pada baris ini untuk memberi tahu compiler untuk memasukan library tersebut kedalam program yang merupakan bagian dari proses compile.

Ketika kita memanggil #include <stdio.h> bukan hanya function printf() saja yang menjadi library di file yang akan kita hasilkan, tetapi juga function yang lain seperti scanf(), getc(), gets(), getchar(), puts(), putchar(), clearerr(), f open(), f close(), getw(), putw(),f getc(), putc(),f putc(), f gets(), puts(), f eof(), f getc(), f printf(), f scanf() dan function yang lain masuk kedalam file yang akan kita hasilkan.
Disisi lain, ketika kita memerlukan function salah satu yang diatas, kita tinggal panggil saja functionnya. 


void main (void)
{......}
Ini adalah fungsi yang bernama main.
void pertama untuk memberitahukan kepada komputer yang melakukan eksekusi, bahwa fungsi ini tidak memberikan feedback. Maksudnya, fungsi ini tidak memberikan feedback (hehehe....).
Sebagai gambaran, ada fungsi yang memberikan feedback berupa angka, hurup, kalimat, ataupun hasil dari perhitungan atau batasan yang kita buat didalam fungsi itu, ketika fungsi memberikan feedback, maka fungsi akan memberikan feedback tersebut kepada command yang memanggilnya.
Function tidak diberikan argument (void) dan bisa diberikan (int, string, dll).

Setiap program selalu ada fungsi main ini, karena ketika kita menjalankan program, maka fungsi main ini yang akan dijalankan pertama.
Void kedua yang berada didalam kurung, kita tidak memerlukan value apapun.
Sedangkan {....} adalah isi dari function main tersebut. Sesuatu yang berada diluar kurung tersebut tidak termasuk dalam function itu.


/* Cetak statement */
Ini adalah untuk membuat komen (diawai dengan /* dan diakhiri dengan */), untuk memudahkan kita mengetahui baris-baris berikutnya ini sedang mengerjakan apa. Untuk program yang sederhana dan sedikit barisnya, tidaklah terlalu berarti, tetapi untuk program yang lebih panjang, ini sangat berguna. Karena ketika kita membuat sebuah program yang panjang, komplikasi, memerlukan lebih dari satu hari pengerjaan, tanpa blok-blok komen maka ketika melanjutkan program tersebut dan melihat baris-baris tersebut, program yang kita buat seakan tidak masuk akal, dan kita membuatnya ulang....
Komen ini tidak akan dihiraukan oleh compiler.

printf ("Hello world!\n);
Dan yang terakhir, yang merupakan tujuan kita membuat program ini, perintah printf yang merupakan bagian dari library stdio.h untuk mencetak karakter yang terdapat didalam tanda double kuote (") dan diakhiri dengan semikolon (;)
Semikolon (;) adalah perintah batas akhir, tidak ada perintah lagi, atau perintah yang ada didepan berakhir disini. Jangan sampai lupa memberikan tanda ini, karena bila tidak, compiler akan bingung dan tidak melanjutkan tahap compiling sampai akhir, dan kita akan berakhir dengan pesan ERROR

Sunday 18 February 2018

C Apa Itu C?

Pada Raspbian sudah terinstall sebuah software yang bernama Geany, yang merupakan Integrated Development Environment (IDE) yang ringan dan relatif cepat, sehingga memudahkan kita untuk membuat program C.

C adalah pemograman yang menggunakan cara compiled (compiled languages), tidak seperti Python, program dibaca langsung sebagai sumber. Python disebut interpreted languages.
Kode-kode yang dicompiled ini disebut source code, yang tidak bekerja secara langsung dengan kode2 yang kita kerjakan. Kode-kode dikonversikan menjadi bahasa mesin yang disebut executable atau binary.

perbedaan C dan C++:
  • C dikembangkan oleh Dennis Ritchie antara tahun 1969 - 1973 di perusahaan AT&T Bell Labs
    C++ dikembangkan oleh Bjarne Stroustrup pada tahun 1979
  • C merupakan bagian C++, karena C++ dapat meng-compiled sebagian besar code-code dari C
  • C adalah program yang prosedural sedangkan C++ mensupport prosedural dan object oriented programming
  • C tidak mensupport object oriented programming, polymorphism, encapsulation dan inheritance. C++ support
  • C, data dan fungsi terpisah. C++ data dan fungsi dibungkus menjadi sebuah object.
  • dan lain-lain
C merupakan bahasa programming yang general purpose, digunakan luas pada applikasi-aplikasi dari Operating system (seperti Windows dan iOS, bayangkan OS aja bikinnya pake C) sampai software yang digunakan untuk membuat 3D (video, modeling, dan lain-lain)

Hasil dari progam dengan C sangatlah effisien, dengan alasan tersebut, C masi bisa bertahan hidup dan masih digunakan selama lebih dari 40 tahun hampir 50 tahun (pernah dengar bahasa basic, paskal? pada kemana yah?)

C itu sangat bahasa yang prosedural, langkah demi langkah harus ditulis satu-satu (awal dari kegilaan C) sehingga suatu sebuah tugas yang simple dapat ditulis sampai berbaris-baris. Walupun begitu, bila dibandingkan dengan bahasa program lain yang memiliki sebuah atau lebih sedikit perintah dari C, kemungkinan besar program yang dibuat oleh C bekerja lebih cepat (karena kemampuan prosesor saat ini sangat besar, kecepatan ini mungkin tak berasa). Kekurangan ini diperbaiki dan dikembangkan oleh C++ dengan feature OOP (object oriented program).

Bahasa C mengizinkan kita memanipulasi hardware yang ada pada komputer (keren ga tuh). Jadi tidak salah bila kita memulai belajar program dengan C (awal dari sebuah penderitaan yang panjang).

Dengan motto "write once, compile everywhere", sehingga pembuatan program diperlukan sekali, dan bisa digunakan di Operating systems mana saja asalkan di-compile di Operating systems tersebut tanpa mengubah kode-kode yg kita buat sebelumnya. Ya motto ini kalah galak dengan mottonya Java "write once, run everywhere" tapi java bukan compiled language, melainkan interpreted language, dimana virtual java machine yg membaca kode-kode yang kita buat lalu menjalankanya.

Dengan C kita bisa menyimpan kode sebagai library yang kita akan gunakan nanti, konsep ini disebut modularity.

Bila kita menggunakan bahasa C apa adanya, kita tidak bisa berbuat banyak, tapi C memiliki banyak libraries yang dapat kita gunakan.

Dengan belajar C kita bisa mengetahui bagaimana komputer itu bekerja, tapi kita tidak tahu bagaimana program yang kita buat bekerja (aneh banget kan, bisa ngerti cara kerja komputer, tapi kode-kode yang kita buat tidak tahu bagaimana bisa bekerja di komputer).

Dengan mengerti C kita bisa membuat program yang impact nya sangat luas. Program-program berbahasa tinggi seperti python, java, bisa diinterface dengan C ini.

Bila kita ingin membuat program untuk smartphone, kita menggunakan Java, Swift (taylor swift 😱) atau Objective C, dan banyak program untuk applicasi di web.

Python bisa membuat applikasi, dan banyak applikasi yang dibuat menggunakan python, dan python dibuat oleh C. Jadi kita bisa ikut mengkontribusi python. Juga open source yang lain yang banyak digunakan pada linux kernel, database.

Dan apabila kita bisa C dan C++ dampak yang bisa kita buat sangatlah luas, dengan membuat progam yang lebih baik. Pada kenyatannya tidak semua orang mau berkontribusi atau berkemampuan untuk membuat program yang lebih baik.

Monday 12 February 2018

Install Arduino IDE pada Rasbian Raspberry pi

Untuk menggunakan arduino IDE di raspberry, pertama-tama kita update dan upgrade rasbian- nya dahulu, dengan perintah:

sudo apt-get update

dan

sudo apt-get upgrade

lalu

sudo apt-get install arduino 

video dibawah ini cara meng-install arduino IDE, karena raspberry pi saya sudah di update, upgrade dan install arduino-nya. jadi pastinya berbeda dengan raspberry yang belum di update, upgrade dan install arduino IDE, akan lebih lama pastinya.







Friday 9 February 2018

Setting Koneksi Wifi Raspbian Raspberry Pi menggunakan Command Line

Ini setting buat Raspberry Pi Raspbian dengan menggunakan Command Line, tanpa menggunakan graphical user interface, saat ini saya masih menggunakan Raspberry Pi Model B, sehingga mengguanakan usb wifi tambahan.



Wifi tambahan yang saya gunakan adalah Edimax EW-7811Un WiFi USB, tinggal colok aja tanpa perlu install driver, karena telah dikenali oleh Raspberry, untuk list yang sudah dapat bekerja dengan Raspberry ada disini, dan untuk Wifi adapters ada disini



Mari kita mulai.

Bila kita sedang berada disuatu tempat seperti cafe yang menyediakan wifi gratis, kita tinggal minta password dan nama SSID nya, dan dengan mudah kita bisa scan Wifi yang tersedia disekitar kita, lalu kita konek, masukan password, lalu TADA! kita telah dapat akses internet. Nah pada raspbian kita, bila kita perlu men-scan Wifi yang tersedia kita bisa gunakan perintah



sudo iwlist wlan0 scan.



ESSID adalah nama Wifi yang kita perlukan, misalnya kita perlu Wifi yang bernama "xyz", dan password cafe tersebut adalah "belumpoll".

Kita tinggal tambahkan network yang baru di configurasi wpa_supplicant file, dengan cara

sudo nano /etc/wpa_supplicant/wpa_supplican.conf




lalu muncul dan tambahkan dibawahnya :

network={     
                  ssid="xyz"    
                  psk="belumpoll" 
}



Lalu save dan exit dengan mengguanakan Ctrl + X lalu jawab Y ketika ada pertanyaan mau disave.



Bila jaringan wifi yang tidak memerlukan password
network={
         ssid="xyz"
         key_mgmt=NONE 
 }



Untuk yang Hidden Wifi Network:
network={
     ssid="xyz"
     scan_ssid=1
     psk="belumpoll" 
 }

Bila kita memiliki beberapa Wifi network kita tinggal tambahkan saja di bawahnya:

network={
     ssid="xyz"
     scan_ssid=1
     psk="belumpoll" 
 } 
 network={
     ssid="2xyz"
     key_mgmt=NONE 
 } 
 network={
     ssid="3xyz"
     psk="3belumpoll"

 network={
     ssid="4xyz"
     psk="4belumpoll" 
}

Apabila disuatu tempat kita mendapatkan dua atau tiga Wifi network, dan kita ingin salah satu yang menjadi prioritas, kita tambahkan prioritas:

network={
     ssid="xyz"
     scan_ssid=1
     psk="belumpoll"
     priority=1
     id_str="rumah" 
 } 
 network={
     ssid="2xyz"
     key_mgmt=NONE
     priority=2
     id_str="sekolah" 
 } 
 network={
     ssid="3xyz"
     psk="3belumpoll"
     priority=3
     id_str="cafe" 
 } 
 network={
     ssid="4xyz"
     psk="4belumpoll"
     priority=4 
     id_str="sohib"
}