Validasi ISBN

ISBN adalah singkatan dari International Standard Book Number, yaitu suatu kode yang diberikan oleh penerbit resmi untuk tiap buku yang mereka terbitkan. Kode ini terdiri dari 10 digit angka, walaupun kadang untuk digit yang kesepuluh memakai huruf X (merepresentasikan angka 10). Kode ini biasanya dikelompokan dengan spasi atau tanda minus (-). Contoh kode ISBN 979-96446-3-1 (kode ISBN dari buku referensi tulisan ini)

Kode ISBN terdiri dari empat bagian:

  1. Kode yang mengidentifikasikan bahasa.
  2. Kode penerbit.
  3. Kode buku tersebut.
  4. Karakter penguji (digit ke-10).

Karakter penguji digunakan untuk mendeteksi kesalahan pada karakter ISBN atau kesalahan pada pergeseran angka-angkanya. Karakter uji ini didapat dengan melakukan perhitungan sebagai berikut:

Karakter uji = mod 11

Untuk contoh kode ISBN 0-3015-4561-8, 0 adalah kode untuk negara berbahasa Inggris, 3015 adalah kode penerbit, 4561 adalah kode buku, dan 8 adalah kode uji.

Berikut ini merupakan kode program sederhana memakai bahsa C++ yang dibuat untuk melakukan pengecekan terhadap suatu kode ISBN dengan memanfaatkan kode uji:

satu

Untuk menguji apakah kode ISBN yang dimasukan valid atau tidak kita tinggal melakukan pemeriksaan terhadap nilai

Persamaan

Apakah sama dengan kode uji. Jika sama berarti kode ISBN valid. Atau dalam program diatas digunakan persamaan:

sum % 11 == (string[9]-48)

Dimana nilai string[9]-48 merupakan digit terakhir dari kode ISBN.

Sebelum tiap karakter diperiksa terlebih dahulu dikuragkan dengan 48. Ini disebabkan string[i] akan bernilai kode ASCII. Untuk angka 0-9 kode ASCII berada diantara 48-57.

Dalam program ini terdapat satu fungsi yaitu inputISBN(). Fungsinya adalah untuk mendapatkan inputan kode ISBN dari pengguna. Inputan akan diperiksa apakah panjangnya sudah 10 digit atau belum. Fungsi ini yang pertama kali dijalankan saat program dieksekusi.

Blok program

for(int i = 1; i <= strlen(string) – 1; i++)

{

sum = sum + (i * (string[i-1] – 48));

}

akan menghitung nilai

Untuk tiap digit kode (string[i-1] – 48) dikalikan dengan nilai i kemudian ditambahkan dengan nilai sum.

Setelah didapat nilai sum maka pemeriksaan dilakukan dengan ekspresi sum % 11 == (string[9]-48). Jika benar (menghasilkan nilai 1) maka akan ditampilkan string “Kode ISBN valid”, jika salah akan ditampilkan string “Kode ISBN tidak valid”.

Output

Referensi:

Rinaldi Munir, Matematika Diskrit, , Edisi 3, Informatika, Bandung, 2005.

6 Responses

  1. ich gitu to…thank for your info : )

  2. Ooo.. ngeceknya pake C++ ya….🙂

  3. Biar gampang bikin prog’a ajah maka’a saya pke C++
    Msh ada cacat’a…belum bisa menerima inputan kalau karakter uji’a adalah X (pengganti angka 10)
    Kl mw cb improve silahkan

  4. […] under: Pengembangan Sistem Informasi « Apa itu TELEMATIKA? Validasi ISBN […]

  5. apakah tiap buku untuk judul buku yang sama ISBNnya beda ato sama…?

  6. Setau saya nomor isbn nga tergantung sama judul buku
    Jadi kalau judul’a sama y isbn’a pasti beda

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: