Saturday, January 5, 2013

Mengkonversi Base10 ke Base8 dan Sebaliknya

Untuk mengkonversi base10 ke dalam base8, anda bisa gunakan metode toString(). Untuk mengkonversi base8 ke dalam base10, anda bisa gunakan metode parseInt().

Sintaks:

toString(radixBase)

radixBase menentukan base-n yang akan dikembalikan, dalam hal ini nilai untuk radixBase adalah 8.

Contoh kode berikut menggunakan toString() untuk mengkonversi 200 ke dalam base8:

var base10 = 200; document.write(base10.toString(8)); // 310

Secara manual untuk mendapatkan representasi base8 dari base10 adalah seperti berikut:

  1. Bagilah base10 dengan 8, tuliskan HASILnya, lalu tulis SISA PEMBAGIANnya.
  2. Bagilah HASIL ditahap 1 dengan 8, tuliskan HASILnya, lalu tulis SISA PEMBAGIANnya.
  3. Bagilah HASIL ditahap 2 dengan 8, tuliskan HASILnya, lalu tulis SISA PEMBAGIANnya.
  4. Teruskan berulang-ulang sampai HASIL yang dikembalikan adalah 0.
  5. Setelah HASIL yang dikembalikan harus sudah dan terpaksa 0, ambil nilai SISA PEMBAGIANnya.

Dan nampak seperti berikut:

200 / 8 = 25 sisa 0
 25 / 8 =  3 sisa 1
  3 / 8 =  0 sisa 3

Jadi representasi base8 dari 200 adalah 310. Sebaliknya untuk mengkonversi base8 (310 ambil contoh) secara manual ke dalam base10 adalah sebagai berikut:

310=(3 * 82) + (1 * 81) + (0 * 80) = 192+8+0 = 200

Catatan: Perlu diingat ketika menggunakan toString(), maka tipe nilai yang dikembalikan adalah string, bukan number. Jadi untuk mengkonversi base8 ke dalam base10, perlu menggunakan metode parseInt().

Sintaks:

parseInt(numString, radixBase)

Parameter radixBase digunakan untuk menetapkan bahwa numString adalah base-n. Untuk contoh dibawah ini, 8 itu menunjukkan bahwa variabel base8 adalah nilai valid dari base8.

Contoh berikut menggunakan parseInt() untuk mengkonversi base8 ("310") ke dalam base10:

var base8 = "310"; document.write(parseInt(base8, 8)); // 200