Tutorial Number JavaScript dan Konversi Data

Created at by Aris Munandar

Dalam JavaScript, tipe data Number adalah salah satu konsep paling fundamental yang harus dipahami sejak awal, karena hampir semua program — mulai dari kalkulasi harga, perhitungan diskon, logika kondisi, hingga manipulasi data backend — pasti berhubungan dengan angka. Pada bagian pertama ini, kita akan membahas seluruh dasar Number JavaScript secara jelas, santai, dan mudah dipahami untuk pemula.

Baca juga: Tutorial String JavaScript Lengkap

Pengertian Number JavaScript

Number JavaScript adalah tipe data yang digunakan untuk merepresentasikan angka, baik itu bilangan bulat (integer) maupun bilangan desimal (float). Tidak seperti bahasa pemrograman lain yang membedakan tipe integer dan float, JavaScript hanya memiliki satu tipe angka: number.

Contohnya:

let umur = 25;          // integer
let harga = 19.99;      // floatCode language: JavaScript (javascript)

Keduanya tetap dianggap sebagai Number.

Kenapa Number Penting dalam Pemrograman?

Mengapa harus belajar Number dari awal?

Karena hampir semua logika program terkait:

  • Menghitung jumlah barang
  • Mengatur skor permainan
  • Menentukan diskon harga
  • Perhitungan timer / waktu
  • Validasi usia
  • Pengolahan statistik

Jika salah memahami cara kerja Number, hasil perhitungan bisa jadi kacau.

Contohnya:

console.log(0.1 + 0.2);Code language: CSS (css)

Output:

0.30000000000000004Code language: CSS (css)

Jadi, penting untuk memahami bagaimana JavaScript menangani angka.

Cara Menggunakan Number JavaScript

Cara menggunakan Number sangat sederhana. Kamu bisa menyimpannya dalam variabel menggunakan let, const, atau var.

let a = 10;
let b = 2.5;
let total = a + b;

console.log(total);Code language: JavaScript (javascript)

Output:

12.5Code language: CSS (css)

Kita bisa melakukan operasi matematika seperti penjumlahan, pengurangan, perkalian, pembagian, dan modulus.

Tipe Number di JavaScript

JavaScript memiliki beberapa bentuk nilai Number:

Integer (bilangan bulat)

let angka = 100;Code language: JavaScript (javascript)

Float (bilangan desimal)

let harga = 19.99;Code language: JavaScript (javascript)

NaN (Not a Number)

Digunakan ketika JavaScript gagal mengonversi nilai menjadi angka.

let x = Number("halo");
console.log(x); // NaNCode language: JavaScript (javascript)

Infinity

Nilai ketika angka melebihi batas maksimum Number JS.

console.log(5 / 0); // InfinityCode language: JavaScript (javascript)

-Infinity

Kebalikannya Infinity:

console.log(-5 / 0); // -InfinityCode language: JavaScript (javascript)

Sifat Unik Number di JavaScript — Floating Point

JavaScript menggunakan standar IEEE 754 untuk menyimpan angka dalam bentuk floating point.

Ini menyebabkan hasil perhitungan desimal menjadi tidak akurat:

console.log(0.1 + 0.2);Code language: CSS (css)

Output:

0.30000000000000004Code language: CSS (css)

Cara mengatasinya (nanti dibahas lebih detail):

let hasil = (0.1 + 0.2).toFixed(2);
console.log(hasil); // "0.30"Code language: JavaScript (javascript)

Cara Cek Tipe Data Number JavaScript

Untuk memeriksa apakah sebuah variabel bertipe Number, kita menggunakan typeof.

let angka = 123;
console.log(typeof angka); // "number"Code language: JavaScript (javascript)

Output:

"number"Code language: JSON / JSON with Comments (json)

Namun untuk mengecek apakah suatu nilai valid (bukan NaN), kita bisa pakai:

Number.isNaN()
Number.isFinite()Code language: JavaScript (javascript)

Contoh:

console.log(Number.isNaN(123)); // false
console.log(Number.isNaN(NaN)); // trueCode language: JavaScript (javascript)

Contoh Penggunaan Dasar Number JavaScript

Berikut contoh kecil penggunaan Number dalam program sederhana:

let harga = 15000;
let jumlah = 3;

let total = harga * jumlah;

console.log("Total bayar:", total);Code language: JavaScript (javascript)

Output:

"Total bayar: 45000"Code language: JSON / JSON with Comments (json)

Contoh lain dengan kalkulasi:

let diskon = 0.1; // 10%
let hargaAwal = 20000;

let hargaAkhir = hargaAwal - (hargaAwal * diskon);

console.log(hargaAkhir);Code language: JavaScript (javascript)

Output:

18000

Konversi Data (Convert Number JavaScript)

Konversi data adalah bagian yang sangat penting dalam JavaScript karena hampir semua aplikasi membutuhkan proses mengubah nilai dari satu tipe ke tipe lainnya terutama stringnumber dan numberstring. Pada bagian ini, kita akan belajar seluruh teknik konversi data yang paling sering digunakan, lengkap dengan contoh dan penjelasan mendalam.

1. Konversi String ke Number JavaScript

Kenapa perlu mengonversi string ke number?

Karena data dari:

  • input form HTML
  • API / database
  • hasil pembacaan file
  • value dari DOM

…biasanya berbentuk string, bukan angka.

Contoh masalah umum:

let a = "10";
let b = "5";

console.log(a + b);Code language: JavaScript (javascript)

Output:

105 // bukan penjumlahan, tapi penggabungan string!Code language: JSON / JSON with Comments (json)

Untuk mendapatkan hasil numerik, kita harus mengonversinya menjadi number.

2. parseInt() JavaScript

parseInt() digunakan untuk mengubah string menjadi bilangan bulat (integer).

Cara kerja:

  • Mengambil angka dari awal string
  • Mengabaikan karakter setelahnya
  • Mengembalikan integer

Contoh dasar:

let angka = parseInt("42");
console.log(angka); // 42Code language: JavaScript (javascript)

Contoh dengan teks:

console.log(parseInt("42px")); // 42Code language: JavaScript (javascript)

Contoh gagal:

console.log(parseInt("abc42")); // NaN (karena tidak ada angka di awal)Code language: JavaScript (javascript)

3. parseFloat() JavaScript

Digunakan untuk mengubah string menjadi bilangan desimal (float).

Contoh:

let x = parseFloat("3.14");
console.log(x); // 3.14Code language: JavaScript (javascript)

Contoh dengan teks:

console.log(parseFloat("3.14em")); // 3.14Code language: JavaScript (javascript)

Contoh gagal:

console.log(parseFloat("abc3.14")); // NaN (karena tidak ada angka di awal)Code language: JavaScript (javascript)

4. Number() vs parseInt() vs parseFloat()

Ketiganya sering digunakan, tetapi memiliki perbedaan penting.

FungsiHasilCocok untuk
Number()Konversi langsung → validasi ketatnilai harus angka murni
parseInt()Mengambil integer dari awal stringangka yang bercampur teks
parseFloat()Mengambil float dari awal stringnilai desimal bercampur teks

Contoh perbandingan:

Number("42");        // 42
Number("42px");      // NaN

parseInt("42px");    // 42
parseFloat("42.5em");// 42.5Code language: JavaScript (javascript)

Kapan pakai apa?

SituasiGunakan
Ingin angka pasti dan ketatNumber()
Mengambil angka depan sajaparseInt()
Angka desimal bercampur teksparseFloat()

5. Konversi Angka ke String — number.toString()

Kadang kita perlu mengubah angka menjadi string.

Misalnya saat:

  • menampilkan ke UI
  • membuat format teks
  • menyimpan ke database
  • menggabungkan dengan string lain

Contoh penggunaan:

let angka = 123;

let teks = angka.toString();
console.log(teks);       // "123"
console.log(typeof teks);// "string"Code language: JavaScript (javascript)

Bisa juga menggunakan String():

let hasil = String(99);
console.log(hasil); // "99"Code language: JavaScript (javascript)

6. Number.parseInt() dan Number.parseFloat()

Ini adalah versi modern dari parseInt() dan parseFloat().

Bentuk ES6:

Number.parseInt()
Number.parseFloat()Code language: JavaScript (javascript)

Contoh:

console.log(Number.parseInt("50px"));   // 50
console.log(Number.parseFloat("7.25kg"));// 7.25Code language: JavaScript (javascript)

Bedanya?

  • Tidak ada perbedaan fungsi
  • Hanya perbedaan penempatan namespace
  • Disarankan pada project modern (lebih eksplisit)

7. Menangani NaN & isNaN() JavaScript

NaN (Not a Number) muncul ketika konversi gagal.

Contoh:

let x = Number("halo");
console.log(x); // NaNCode language: JavaScript (javascript)

Mengecek NaN yang benar:

Gunakan:

Number.isNaN()Code language: JavaScript (javascript)

Contoh:

console.log(Number.isNaN(NaN)); // true
console.log(Number.isNaN("abc")); // falseCode language: JavaScript (javascript)

Perbedaan penting:

isNaN() biasa kurang akurat.

console.log(isNaN("abc")); // true (padahal string)Code language: JavaScript (javascript)

Karena itu, yang direkomendasikan:

  • Number.isNaN()
  • Number.isFinite()

8. Panduan Lengkap Konversi Data JavaScript

Berikut rangkuman lengkap:

Konversi string → number

Number("100");       
parseInt("100px");
parseFloat("3.14em");Code language: JavaScript (javascript)

Konversi number → string

(123).toString();
String(123);Code language: JavaScript (javascript)

Validasi angka

Number.isInteger()
Number.isNaN()
Number.isFinite()Code language: JavaScript (javascript)

Contoh penggunaan praktis

Misalnya kita ingin mengambil input angka dari form:

let qty = document.getElementById("qty").value; // string

qty = Number(qty); // konversi wajib

let total = qty * 5000;

console.log(total);Code language: JavaScript (javascript)

Jika tidak dikonversi, hasilnya bisa salah.

Contoh Kasus Konversi Data Lengkap

Misal kita memiliki data harga dalam bentuk string:

let harga = "15000";
let jumlah = "3";

let total = Number(harga) * Number(jumlah);

console.log("Total bayar:", total);Code language: JavaScript (javascript)

Output:

Total bayar: 45000

Atau mengambil angka dari teks campuran:

let ukuran = "42cm";

let angka = parseInt(ukuran);

console.log(angka); // 42Code language: JavaScript (javascript)

Method Number JavaScript yang Sering Dipakai

Di bagian ini kita bahas method dan utilitas Number yang paling sering dipakai sehari-hari:

Number.isInteger(), Number.isNaN(), Number.isFinite(), toFixed(), dan toPrecision().

Setiap fungsi dijelaskan beserta contoh dan langkah-langkah praktis (step-by-step) agar mudah diikuti.

Semua contoh kode pakai indentasi 4 tab sesuai permintaan.

1. Number.isInteger(value) — cek apakah bilangan bulat

Mengembalikan true jika value bertipe number dan adalah integer (tidak ada fractional part).

Mengembalikan false untuk NaN, Infinity, non-number (mis. string), atau angka desimal.

Contoh & penjelasan:

console.log(Number.isInteger(10));      // true
console.log(Number.isInteger(10.0));    // true (10.0 adalah integer secara nilai)
console.log(Number.isInteger(10.5));    // false
console.log(Number.isInteger(NaN));     // false
console.log(Number.isInteger("10"));    // false (bukan number)Code language: JavaScript (javascript)

Kapan dipakai (step-by-step)

  • Ambil input pengguna (mis. kuantitas barang).
  • Konversi ke number: const qty = Number(input);
  • Cek integer: if (!Number.isInteger(qty)) { error… }
  • Proses hanya jika integer valid.

2. Number.isNaN(value) — pengecekan NaN yang benar

  • NaN = Not a Number (hasil operasi/konversi gagal).
  • Gunakan Number.isNaN() untuk memeriksa nilai NaN secara andal.
  • Jangan pakai isNaN() global jika ingin akurasi tipe (global isNaN melakukan coercion).

Perbedaan singkat

  • isNaN("abc") → true (karena “abc” dipaksa jadi number yang menghasilkan NaN)
  • Number.isNaN("abc") → false (karena “abc” bukan number, jadi bukan NaN)

Contoh:

console.log(isNaN("abc"));            // true  (global isNaN memaksa konversi)
console.log(Number.isNaN("abc"));     // false (bukan number)
console.log(Number.isNaN(NaN));       // true
console.log(Number.isNaN(123));       // falseCode language: JavaScript (javascript)

Step-by-step untuk validasi konversi:

  • Konversi string ke number: const n = Number(str);
  • Cek Number.isNaN(n) → jika true → tampilkan error input tidak valid.
  • Jika false → lanjut proses.

3. Number.isFinite(value) — cek finite number (bukan Infinity/NaN)

  • Mengembalikan true jika value adalah number dan finite (bukan NaN, Infinity, atau -Infinity).
  • Perhatikan: Number.isFinite("15") → false karena tipe bukan number.

Contoh:

console.log(Number.isFinite(100));           // true
console.log(Number.isFinite(Infinity));      // false
console.log(Number.isFinite(NaN));           // false
console.log(Number.isFinite("100"));         // false (tipe bukan number)Code language: JavaScript (javascript)

Penggunaan praktis

Gunakan saat menerima hasil operasi numerik untuk memastikan hasil bermakna (mis. tidak membagi 0 menghasilkan Infinity).

4. toFixed(digits) — format angka desimal (jumlah digit di belakang koma)

  • Method milik instance Number: num.toFixed(2) → mengembalikan string yang berisi angka dengan 2 desimal.
  • Berguna untuk menampilkan harga, persen, atau pembulatan tampilan.

Hal penting:

  • toFixed() melakukan pembulatan sesuai aturan matematika.

Hasilnya adalah string, bukan number — jika perlu perhitungan lagi, konversi kembali.

Contoh:

const a = 2.34567;
console.log(a.toFixed(2)); // "2.35"
console.log(a.toFixed(0)); // "2"Code language: JavaScript (javascript)

Step-by-step format harga:

  • Hitung total: let total = price * qty;
  • Format untuk tampil: const tampil = total.toFixed(2);
  • Tampilkan Rp ${tampil} (ingat tampil string).

Jika perlu number lagi:

const roundedString = (0.1 + 0.2).toFixed(2); // "0.30"
const roundedNumber = Number(roundedString);   // 0.3Code language: JavaScript (javascript)

5. toPrecision(n) — jumlah angka signifikan (significant digits)

Mengembalikan string yang menampilkan angka dengan n significant digits.

Berguna jika butuh presentasi berdasarkan presisi ilmiah/angka signifikan.

Contoh:

const x = 123.456;
console.log(x.toPrecision(2)); // "1.2e+2" (2 significant digits)
console.log(x.toPrecision(4)); // "123.5"Code language: JavaScript (javascript)

Perbedaan toFixed vs toPrecision:

  • toFixed(2) → tetap dua digit di belakang koma.
  • toPrecision(2) → dua digit significant secara keseluruhan, bisa menghasilkan notasi ilmiah.

6. Contoh Lengkap — Beberapa skenario step-by-step

Validasi input jumlah pembelian (harus integer & finite):

function validateQty(input) {
    const qty = Number(input);
    if (Number.isNaN(qty) || !Number.isFinite(qty)) {
            return { valid: false, reason: "Bukan angka valid" };
    }
        if (!Number.isInteger(qty) || qty <= 0) {
                return { valid: false, reason: "Harus bilangan bulat positif" };
        }
        return { valid: true, qty };
}

console.log(validateQty("3"));    // { valid: true, qty: 3 }
console.log(validateQty("2.5"));  // { valid: false, reason: "Harus bilangan bulat positif" }
console.log(validateQty("abc"));  // { valid: false, reason: "Bukan angka valid" }Code language: JavaScript (javascript)

Format harga & pastikan pembulatan aman:

function formatCurrency(value) {
        if (Number.isNaN(Number(value))) return "Rp 0.00";
        // pastikan finite
        if (!Number.isFinite(Number(value))) return "Rp 0.00";
        const num = Number(value);
        // tampilkan 2 desimal, hasil toFixed string
        return "Rp " + num.toFixed(2);
}

console.log(formatCurrency(15000));        // "Rp 15000.00"
console.log(formatCurrency(1234.567));     // "Rp 1234.57"Code language: JavaScript (javascript)

7. Menangani floating point dan pembulatan manual

Floating point kadang bikin hasil seperti 0.30000000000000004.

const sum = 0.1 + 0.2;
console.log(sum);                 // 0.30000000000000004
console.log(Number(sum.toFixed(2))); // 0.3 (lebih aman untuk perhitungan)Code language: JavaScript (javascript)

8. Tips & Trik Praktis

  • Gunakan Number.isNaN() untuk cek kegagalan konversi, bukan isNaN() global.
  • Gunakan Number.isFinite() untuk pastikan hasil bukan Infinity.
  • Gunakan Number.isInteger() bila membutuhkan integer (qty, jumlah item).
  • Ingat toFixed() mengembalikan string → konversi jika perlu operasi matematika lagi.
  • Untuk presisi tampilan gunakan toFixed() atau toPrecision() sesuai kebutuhan, bukan untuk logika perhitungan sensitif (use decimal libraries kalau perlu akurasi finansial tinggi).

Ringkasan singkat:

  • Number.isInteger(x) → apakah x integer?
  • Number.isNaN(x) → apakah x NaN? (tepat)
  • Number.isFinite(x) → apakah x finite number?
  • num.toFixed(d) → format desimal (string) dengan d tempat desimal
  • num.toPrecision(n) → n significant digits (string)

Pembulatan dan Operasi Math di JavaScript

Pada bagian ini kita fokus pada fungsi-fungsi Math yang paling sering digunakan ketika bekerja dengan number JavaScript, terutama untuk kasus seperti pembulatan angka, pengolahan desimal, hingga pembuatan angka acak untuk aplikasi sederhana.

1. Math.round(x) — Pembulatan Standar (Normal Rounding)

Math.round(x) akan membulatkan angka ke nilai integer terdekat:

  • Desimal ≥ 0.5 → dibulatkan ke atas
  • Desimal < 0.5 → dibulatkan ke bawah

Contoh:

console.log(Math.round(4.2));   // 4
console.log(Math.round(4.5));   // 5
console.log(Math.round(4.7));   // 5
console.log(Math.round(-4.5));  // -4Code language: JavaScript (javascript)

Kapan digunakan?

  • Memperbaiki hasil floating point (0.1 + 0.2)
  • Pembulatan standar untuk laporan atau tampilan

2. Math.floor(x) — Pembulatan ke Bawah (Always Down)

Math.floor(x) akan membulatkan angka ke integer terendah.

Contoh:

console.log(Math.floor(4.9));   // 4
console.log(Math.floor(4.1));   // 4
console.log(Math.floor(-4.1));  // -5Code language: JavaScript (javascript)

Kapan digunakan?

  • Ketika setengah angka tidak boleh dinaikkan
  • Membuat index array dari angka desimal
  • Membuat random number dalam rentang tertentu (dipakai bersama Math.random())

3. Math.ceil(x) — Pembulatan ke Atas (Always Up)

Math.ceil(x) membulatkan angka ke integer tertinggi.

Contoh:

console.log(Math.ceil(4.1));   // 5
console.log(Math.ceil(4.9));   // 5
console.log(Math.ceil(-4.1));  // -4Code language: JavaScript (javascript)

Kapan digunakan?

  • Ketika hasil desimal harus dibulatkan ke atas
  • Saat menghitung jumlah halaman (paging / pagination)
  • Ketika membuat perhitungan kapasitas (totalItem / perPage)

4. Pembulatan Desimal Manual

JavaScript hanya menyediakan pembulatan untuk angka integer, jadi untuk membulatkan angka desimal, kita perlu trik sedikit.

Misalnya ingin membulatkan 2.34567 → 2.35 (dua desimal).

Pembulatan desimal menggunakan toFixed()

const num = 2.34567;
const result = Number(num.toFixed(2));
console.log(result); // 2.35Code language: JavaScript (javascript)

Pembulatan desimal manual menggunakan Math.round()

function roundDecimal(value, decimals) {
    const multiplier = Math.pow(10, decimals);  
    return Math.round(value * multiplier) / multiplier;
}

console.log(roundDecimal(2.3456, 2)); // 2.35Code language: JavaScript (javascript)

Floor versi desimal

function floorDecimal(value, decimals) {
    const multiplier = Math.pow(10, decimals);
    return Math.floor(value * multiplier) / multiplier;
}

console.log(floorDecimal(2.789, 2)); // 2.78Code language: JavaScript (javascript)

Ceil versi desimal

function ceilDecimal(value, decimals) {
    const multiplier = Math.pow(10, decimals);
    return Math.ceil(value * multiplier) / multiplier;
}

console.log(ceilDecimal(2.781, 2)); // 2.79Code language: JavaScript (javascript)

5. Random Number Sederhana dengan Math.random()

Math.random() menghasilkan angka 0 hingga <1 (tidak termasuk 1). Biasanya dipakai untuk:

  • Membuat angka acak untuk game
  • ID random sederhana
  • Pilihan warna acak
  • Simulasi probabilitas

Random 0–1 (default)

console.log(Math.random());  // contoh: 0.47281723Code language: JavaScript (javascript)

Random integer 0–9

const random = Math.floor(Math.random() * 10);
console.log(random);Code language: JavaScript (javascript)

Random integer dalam rentang tertentu

function randomInRange(min, max) {
    return Math.floor(Math.random() * (max - min + 1)) + min;
}

console.log(randomInRange(5, 15)); // contoh: 9Code language: JavaScript (javascript)

Rangkuman Fungsi Pembulatan dan Random Number

FungsiKeterangan
Math.round()Pembulatan standar
Math.floor()Pembulatan ke bawah
Math.ceil()Pembulatan ke atas
toFixed()Formatting desimal string
Trik desimalMenggunakan faktor pengali (×10ⁿ)
Math.random()Angka acak 0–1
Random rangeMath.floor(Math.random() * (max-min+1)) + min

Kesimpulan

Number adalah salah satu tipe data paling penting dalam JavaScript karena hampir semua aplikasi web membutuhkan perhitungan, validasi angka, formatting, hingga konversi data. Dalam artikel panjang ini, kita telah mempelajari:

  • Dasar-dasar number JavaScript (integer, float, NaN, Infinity).
  • Cara menggunakan number dengan benar serta masalah floating point.
  • Teknik konversi data menggunakan parseInt(), parseFloat(), Number(), hingga toString().
  • Cara menangani error angka seperti NaN dan Infinity.
  • Method penting seperti Number.isInteger(), Number.isNaN(), toFixed(), dan toPrecision().
  • Fungsi pembulatan Math.round(), Math.floor(), Math.ceil(), serta trik pembulatan desimal.
  • Studi kasus penerapan number untuk harga, diskon, dan angka acak.

Dengan memahami seluruh materi ini, kamu sudah memiliki fondasi kuat untuk bekerja dengan number dalam JavaScript, baik untuk aplikasi sederhana maupun sistem yang lebih kompleks seperti e-commerce, kalkulator, dan dashboard analitik.

2 JavaScript Menengah

3 JavaScript Lanjutan

4 JavaScript Mahir

5 JavaScript Ahli

Comments

Congrats, you have the opportunity to be the first commenter on this article. Have questions or suggestions? Please leave a comment to start discussion.

Leave comment

Alamat email Anda tidak akan dipublikasikan. Required fields are marked *

news-1701

sabung ayam online

yakinjp

yakinjp

rtp yakinjp

slot thailand

yakinjp

yakinjp

yakin jp

yakinjp id

maujp

maujp

maujp

maujp

sabung ayam online

sabung ayam online

judi bola online

sabung ayam online

judi bola online

slot mahjong ways

slot mahjong

sabung ayam online

judi bola

live casino

sabung ayam online

judi bola

live casino

SGP Pools

slot mahjong

sabung ayam online

slot mahjong

SLOT THAILAND

138000511

138000512

138000513

138000514

138000515

138000516

138000517

138000518

138000519

138000520

138000521

138000522

138000523

138000524

138000525

article 138000526

article 138000527

article 138000528

article 138000529

article 138000530

article 138000531

article 138000532

article 138000533

article 138000534

article 138000535

article 138000536

article 138000537

article 138000538

article 138000539

article 138000540

article 138000541

article 138000542

article 138000543

article 138000544

article 138000545

article 138000546

article 138000547

article 138000548

article 138000549

article 138000550

article 138000551

article 138000552

article 138000553

article 138000554

article 138000555

article 138000556

article 138000557

article 138000558

article 138000559

article 138000560

article 138000561

article 138000562

article 138000563

article 138000564

article 138000565

article 138000566

article 138000567

article 138000568

article 138000569

article 138000570

158000406

158000407

158000408

158000409

158000410

158000411

158000412

158000413

158000414

158000415

article 158000416

article 158000417

article 158000418

article 158000419

article 158000420

article 158000421

article 158000422

article 158000423

article 158000424

article 158000425

article 158000426

article 158000427

article 158000428

article 158000429

article 158000430

article 158000431

article 158000432

article 158000433

article 158000434

article 158000435

article 158000436

article 158000437

article 158000438

article 158000439

article 158000440

208000421

208000422

208000423

208000424

208000425

208000426

208000427

208000428

208000429

208000430

208000431

208000432

208000433

208000434

208000435

article 208000436

article 208000437

article 208000438

article 208000439

article 208000440

article 208000441

article 208000442

article 208000443

article 208000444

article 208000445

article 208000446

article 208000447

article 208000448

article 208000449

article 208000450

article 208000451

article 208000452

article 208000453

article 208000454

article 208000455

article 208000456

article 208000457

article 208000458

article 208000459

article 208000460

article 208000461

article 208000462

article 208000463

article 208000464

article 208000465

article 208000466

article 208000467

article 208000468

article 208000469

article 208000470

208000436

208000437

208000438

208000439

208000440

208000441

208000442

208000443

208000444

208000445

208000446

208000447

208000448

208000449

208000450

208000451

208000452

208000453

208000454

208000455

228000271

228000272

228000273

228000274

228000275

228000276

228000277

228000278

228000279

228000280

228000281

228000282

228000283

228000284

228000285

article 228000286

article 228000287

article 228000288

article 228000289

article 228000290

article 228000291

article 228000292

article 228000293

article 228000294

article 228000295

article 228000296

article 228000297

article 228000298

article 228000299

article 228000300

article 228000301

article 228000302

article 228000303

article 228000304

article 228000305

article 228000306

article 228000307

article 228000308

article 228000309

article 228000310

article 228000311

article 228000312

article 228000313

article 228000314

article 228000315

article 238000281

article 238000282

article 238000283

article 238000284

article 238000285

article 238000286

article 238000287

article 238000288

article 238000289

article 238000290

sumbar-238000256

sumbar-238000257

sumbar-238000258

sumbar-238000259

sumbar-238000260

sumbar-238000261

sumbar-238000262

sumbar-238000263

sumbar-238000264

sumbar-238000265

sumbar-238000266

sumbar-238000267

sumbar-238000268

sumbar-238000269

sumbar-238000270

sumbar-238000271

sumbar-238000272

sumbar-238000273

sumbar-238000274

sumbar-238000275

news-1701