Konsep Bilangan Oksidasi Beserta Contohnya

Bilangan oksidasi (biloks) adalah banyaknya elektron yang dilepas atau diterima dalam pembentukan suatu molekul atau ion. Berikut adalah ketentuan dalam menentukan bilangan oksidasi.

biloks


1) Unsur bebas mempunyai bilangan oksidasi = 0

    Contoh : H2, C, Fe, Cl2

2) Bilangan oksidasi unsur Golongan VIIA (F, Cl, Br, I, At) = -1

3) Bilangan oksidasi unsur logam selalu bertanda positif
  • Golongan IA (Li, Na, K, Rb, Cs) = +1
  • Golongan IIA (Be, Mg, Ca, Sr, Ba, Ra) = +2
  • Golongan IIIA (B, Al, Ga, In, Tl) = +3
Unsur lain :

Zn = +2                Pt = +2 dan +4
Ag = +1                Hg = +1 dan +2
Sn = +2 dan +4     Cu = +1 dan +2
Pb = +2 dan +4     Au = +2 dan +4

4) Bilangan oksidasi suatu unsur dalam suatu ion = muatannya

Contoh : Bilangan oksidasi Fe3+ = +3

5) Bilangan oksidasi unsur H adalah +1, kecuali dalam senyawa logam menjadi -1

Contoh :
  • H dalam HCl dan H2O = +1 
  • H dalam NaH dan BaH2 = -1
6) Bilangan oksidasi unsur O adalah -2, kecuali :
  • Dalam F2O, bilangan oksidasi O = +2 
  • Dalam peroksida (H2O2), bilangan oksidasi O = -1 
  • Dalam superoksida (KO2), bilangan oksidasi O = 1/2
7)  Jumlah bilangan oksidasi dalam suatu senyawa = 0

Contoh : Bilangan oksidasi H2SO4 = 0

8)  Jumlah bilangan oksidasi unsur-unsur yang membentuk gugus atom = jumlah muatan ionnya

Contoh : Bilangan oksidasi S2O32- = -2

Latihan Soal :

Tentukan bilangan oksidasi unsur yang dicetak tebal pada senyawa berikut:

a) CH4
b) H2SO4
c) BaO2
d) Cr2O72-

Penyelesaian :

a) CH4 = 0
Biloks C + (4 × biloks H) = 0
Biloks C + (4 × (+1)) = 0
Biloks C + (+4) = 0
Biloks C = -4

b) H2SO4 = 0

(2 × biloks H) + biloks S + (4 × biloks O) = O
(2 × (+1)) + biloks S + (4 × (-2)) = 0
(+2) + biloks S + (-8) = 0
Biloks S = +6

c) BaO2 = 0

Biloks Ba + (2 × biloks O) = 0
(+2) + (2 × biloks O) = 0
(2 × biloks O) = -2
Biloks O = -1

d) Cr2O72- = -2

(2 × biloks Cr) + (7 × biloks O) = -2
(2 × biloks Cr) + (7 × (-2)) = -2
(2 × biloks Cr) + (-14) = -2
(2 × biloks Cr) = +12
Biloks Cr = +6

Sumber :
- Purba, Michael. 2007. Kimia untuk SMA kelas X. Jakarta : Erlangga.
- https://arisarianto.wordpress.com/2013/07/11/cara-menentukan-bilangan-oksidasi-biloks/

Pengertian Reaksi Redoks Beserta Contohnya

Reaksi redoks dikenal juga sebagai reaksi reduksi-oksidasi. Pada awalnya, reaksi reduksi-oksidasi dikaitkan dengan pengikatan dan pelepasan oksigen, kemudian berkembang menjadi proses serah-terima elektron dan perubahan bilangan oksidasi. Berikut adalah konsep reduksi dan oksidasi.

Pengertian Larutan Elektrolit dan Non Elektrolit Beserta Contohnya

1. Larutan Elektrolit

Larutan elektrolit adalah larutan yang dapat menghantarkan arus listrik. Menurut teori Ion Svante Arrhenius (1887), larutan elektrolit mengandung ion-ion yang dapat bergerak bebas. Ion-ion itulah yang menghantarkan arus listrik melalui larutan. Semakin banyak ion yang dihasilkan maka semakin kuat sifat elektrolit larutan tersebut.

Larutan elekrolit dikelompokkan menjadi 2, yaitu elektrolit kuat dan elektrolit lemah.

a) Larutan Elektrolit Kuat


Larutan elektrolit kuat yaitu larutan yang terionisasi sempurna. Karena banyaknya ion-ion yang terbentuk, maka daya hantarnya juga kuat. Derajat ionisasi pada larutan elektrolit kuat adalah 𝝰 = 1

Larutan elektrolit kuat terdiri dari asam kuat dan basa kuat. Contoh :
  • NaCl (aq)      →  Na+ (aq) + Cl- (aq)
  • HCl (g)         →  H+ (aq) + Cl- (aq)
  • NaOH (s)      →  Na+ (aq) + OH- (aq)
b) Larutan Elektrolit Lemah

Larutan elektrolit lemah yaitu larutan yang ionisasinya tidak sempurna (tidak semua molekul terionisasi) sehingga hanya sedikit ion-ion yang menghantarkan listrik. Derajat ionisasi pada larutan elektrolit lemah adalah 0 < 𝝰 < 1. 

Larutan elektrolit lemah terdiri dari asam kuat dan basa lemah atau asam lemah dan basa kuat atau asam lemah dan basa lemah. Contoh :
  • CH3COONa (aq) ⇌ CH3COO- (aq) + Na+ (aq) 
  • NH4OH (aq) ⇌ NH4+ (aq) + OH- (aq) 
  • CH3COONH3 (aq) ⇌ CH3COO- (aq) + NH3+ (aq)
2. Larutan Nonelektrolit

Larutan Nonelektrolit adalah larutan yang tidak dapat menghantarkan arus listrik. larutan nonelektrolit terdiri atas zat-zat yang terlarut dalam air namun tidak terurai menjadi ion (tidak terionisasi). Derajat ionisasi pada larutan nonelektrolit adalah 𝝰 = 0.

Contoh reaksi larutan nonelektrolit :

Glukosa = C6H12O6 (s) → C6H12O6 (aq)
Larutan Gula (C12H22O11) 
Etanol (C2H5OH) 
Urea (CO(NH2)2) 
Amoniak (NH3) 

Larutan elektrolit kuat
Larutan elektrolit lemah
Larutan nonelektrolit
Terionisasi sempurna
Terionisasi sebagian (tidak sempurna)
Tidak dapat terionisasi
Daya hantar listrik yang baik
Daya hantar listrik yang lemah
Tidak dapat menghantarkan listrik
Derajat ionisasi α = 1
Derajat ionisasi 0 < α < 1
Derajat ionisasi α = 0
Jika diuji lampu akan menyala terang dan banyak gelembung gas
Jika diuji lampu akan menyala redup dan sedikit gelembung gas
Jika diuji tidak menghasilkan reaksi apapun
Terdiri dari asam kuat dan basa kuat
Terdiri dari asam kuat dan basa lemah atau asam lemah dan basa kuat atau asam lemah dan basa lemah
Terdiri dari molekul yang tidak bermuatan listrik
Larutan Elektrolit dan Nonelektrolit
(a) = Nonelektrolit
(b) = Elektrolit lemah
(c) = Elektrolit kuat

Sumber :
-    Purba, Michael. 2007. Kimia untuk SMA kelas X. Jakarta: Erlangga
- http://www.softilmu.com/2015/11/Pengertian-Ciri-Manfaat-Larutan-Elektrolit-dan-Non-Elektrolit-Adalah.html

Macam-macam Sorting pada Bahasa C

Dalam pemograman pada bahasa C memiliki cara untuk mengurutkan data. Konsep sorting dapat memudahkan untuk mengurutkan data acak. Macam-macam metode sorting dalam bahasa C antara lain :

1. Bubble Sort

Bubble sort adalah metode pengurutan data dengan cara melakukan penukaran data tepat di sebelahnya secara terus menerus sampai dipastikan dalam satu iterasi tidak ada lagi perubahan. Jika tidak ada perubahan maka data sudah terurut.

Proses pengurutan Bubble Sort

Berikut merupakan proses pengurutan Bubble Sort dengan array "7 9 4 1 5".

Proses pertama :

(7 9 4 1 5) menjadi (7 9 4 1 5)
(7 9 4 1 5) menjadi (7 4 9 1 5)
(7 4 9 1 5) menjadi (7 4 1 9 5)
(7 4 1 9 5) menjadi (7 4 1 5 9)

Proses kedua :

(7 4 1 5 9) menjadi (4 7 1 5 9)
(4 7 1 5 9) menjadi (4 1 7 5 9)
(4 1 7 5 9) menjadi (4 1 5 7 9)
(4 1 5 7 9) menjadi (4 1 5 7 9)

Proses ketiga :

(4 1 5 7 9) menjadi (1 4 5 7 9)
(1 4 5 7 9) menjadi (1 4 5 7 9)
(1 4 5 7 9) menjadi (1 4 5 7 9)
(1 4 5 7 9) menjadi (1 4 5 7 9)

Jika diperhatikan, pada proses ketiga masih terus berjalan agar tidak ada satupun penukaran pada suatu proses. Proses ini dilakukan untuk verifikasi data. Kelebihan metode ini yaitu metode yang paling sederhana, namun kekurangannya ialah tidak efisien karena jika mengurutkan data yang besar maka akan sangat lama prosesnya.

Contoh program sorting menggunakan Bubble Sort :



#include <stdio.h>

int main()
{
    int i,j,n,t, A[100];
    printf("Masukkan banyak data : "); scanf("%d", &n);

    for(i=1; i<=n; i++)
    {
        printf("Data %d = ", i); scanf("%d", &A[i]);
    }

    for(i=1; i<=(n-1); i++)
    {
        for(j=n; j>=(i+1); j--)
        {
            if(A[j-1]>A[j])
            {
                t=A[j-1];
                A[j-1] = A[j];
                A[j] = t;
            }
        }
    }

    printf("\nUrutannya adalah : ");
    for(i=1; i<=n; i++)
    {
        printf("%d ", A[i]);
    }
    printf("\n");
    return 0;
}

bubble sort

2. Insertion Sort

Insertion Sort merupakan metode pengurutan data dengan menempatkan setiap elemen data pada posisinya dengan cara melakukan perbandingan. Metode ini sama seperti mengurutkan karti, dimana jika suatu kartu dipindah tempatkan posisinya, maka kartu lainnya akan bergeser sesuai kondisi pemindahan kartu tersebut.

Proses pengurutan Insertion Sort :

  2    3    9    6    4    5    1
  2    3    9    6    4    5    1
  2    3    9    6    4    5    1
  2    3    6    9    4    5    1
  2    3    4    6    9    5    1
  2    3    4    5    6    9    1
  1    2    3    4    5    6    9  

Contoh program sorting menggunakan Insertion Sort :

#include <stdio.h>

int main ()
{
    int angka[100];
    int i, j, a, n;

    printf("Masukkan jumlah data : "); scanf("%d", &n);
    printf("Masukkan data :\n");
    for (i = 0; i < n; ++i)
    {
        printf("Data ke-%d = ", i+1); scanf("%d", &angka[i]);
    }

    for (i = 0; i < n; ++i)
    {
        for (j = i + 1; j < n; ++j)
        {
            if (angka[i] > angka[j])
            {
                a = angka[i];
                angka[i] = angka[j];
                angka[j] = a;
            }
        }
    }

    printf("\nSorting dalam bentuk descending\n");
    for (i = 0; i < n; ++i)
    {
        printf("%d\t", angka[i]);
    }
    return 0;
}

Insertion Sort

3. Selection Sort

Selection Sort merupakan kombinasi antara sorting dan searching. Metode ini sangat sederhana karena setiap proses akan dicari elemen-elemen yang belum diurutkan yang terkecil (ascending) atau terbesar (descending) yang akan ditukarkan ke posisi yang tepat di dalam array.

Proses pengurutan Selection Sort :

  7    5    1    9    2    6    4  
  1    5    7    9    2    6    4
  1    2    7    9    5    6    4
  1    2    4    9    5    6    7
  1    2    4    5    9    6    7
  1    2    4    5    6    9    7
  1    2    4    5    6    7    9 
  1    2    4    5    6    7    9   

Contoh program menggunakan Selection Sort :


#include <stdio.h>

int main()
{
    int a,b,temp,total;
    int data[20];
    printf("Masukkan jumlah data = ");scanf("%d",&total);
    for(a=0;a<total;a++)
    {
        printf("masukkan nilai pada INDEX ke %d = ",a+1);scanf("%d",&data[a]);
    }

    for(a=0;a<total-1;a++)
    {
        for(b=a+1;b<total;b++)
        {
            if(data[a]>data[b])
            {
                temp=data[b];
                data[b]=data[a];
                data[a]=temp;
            }
        }
    }

    printf("\n\nData setelah diurut : ");
    for(a=0;a<total;a++)
    {
        printf("%d  ",data[a]);
    }
    printf("\n");

    return 0;
}

Selection Sort


4. Counting Sort

Counting sort adalah suatu metode pengurutan dimana dalam proses pengurutannya yaitu dengan menentukan posisi elemen suatu nilai. Jadi pada prosesnya dibutuhkan suatu rentang nilai yang sudah diketahui dan pada prosesnya menentukan jumlah nilai yang nilainya lebih kecil dari elemen lain agar dapat menentukan posisi nilai tersebut. Proses Counting Sort ini terbilang efisien dan efektif serta prosesnya tidak memakan waktu lama.

Contoh Program Counting Sort :


#include <stdio.h>

int main()
{
    int L[20], temp, i, j, n=6, idx;
    printf("Masukkan 6 Element : \n");

    for(i=0; i<n; i++)
    {
        printf("Masukkan Bilangan : "); scanf("%d", &L[i]);
    }

    printf("\nSebelum di sorting : ");
    for(i=0; i<n; i++)
    {
        printf("%d ", L[i]);
    }

    for(i=0; i<(n-1); i++)
    {
        idx=i;
        for(j=i+1; j<n; j++)
        {
            if(L[j]<L[idx])
            {
                idx=j;
            }
        }
        temp=L[i];
        L[i]=L[idx];
        L[idx]=temp;
    }

    printf("\nSetelah Sorting : ");
    for(i=0; i<n; i++)
    {
        printf("%d ", L[i]);
    }
    printf("\n");
    return 0;
}

Counting Sort

Sumber :
- Modul Praktikum Alpro Telkom University
- Pengkajian Algoritma Pengurutan-Tanpa-Pembandingan Counting Sort dan Radix Sort, Dominikus Damas Putranto, NIM 13506060
- https://teknojurnal.com/pengertian-algoritma-bubble-sort/
- http://sisinform-aaf1231072.blogspot.co.id/2013/02/insertion-sort.html