artikel sistem bilangan

Sistem bilangan
Sistem numerik yang paling sederhana adalah Sistem numerik unary. Sistem ini sering dipakai untuk melakukan pemilihan pada suatu voting. Contoh dari Sistem numerik Unary adalah Tally mark. Kerugiann penggunaan dari sistem numerik Unary adalah sistem ini membutuhkan tempat yang besar.Selain sistem numerik unary, contoh lain dari sistem numerik berdasarkan penambahan adalah angka Romawi.
I 1
V 5
X 10
L 50
C 100
D 500
M 1000
Angka Romawi dituliskan dengan simbol dari angka yang tersedia kemudian ditambahkan atau dikurangkan.Sebagai contoh adalah 1970 disimbolkan dalam angka romawi dengan MCMLXX. Simbol M merepresentasikan angka 1000. Simbol CM merepresentasikan 900, hal ini dikarenakan oleh peraturan dalam penulisan angka romawi, yang tidak diperkenakan pengulangan suatu simbol lebih dari tiga kali. Jadi apabila 900 dituliskan dengan simbol DCCCC maka penulisan tersebut salah. Simbol C disebelah kiri atau sebelum M merupakan angka pengurang dari angka sesudahnya, jadi CM = 1000-100 = 900. Simbol selanjutnya adalah LXX yang melambangkan angka 70.Angka Romawi ini digunakan di Eropa sampai dengan abad ke 15. Kekurangan dari sistem ini adalah tidak adanya angka Nol.
Sistem Numerik Berdasarkan Posisi
Di dalam sistem numerik ini, penulisan angka berdasarkan posisi dan basis. Posisi suatu angka dalam sistem ini menentukan nilai dari bilangan yang diwakilinya. Maka notasi yang digunakan disebut notasi posisional. Sistem numerik berdasarkan posisi yang sangat terkenal dan dipakai paling luas adalah sistem bilangan desimal. Sistem desimal ini merupakan sistem numerik berdasarkan posisi yang berbasis 10. Simbol 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 adalah bagian dari sistem desimal. Sebagai contoh 612, angka ini berarti:
2 × 100 = 2 × 1 = 2
1 × 101 = 1 × 10 = 10
6 × 102 = 6 × 100 = 600

Basis eksponen
Selain sistem desimal yang digunakan sehari-hari, terdapat pula sistem lainnya, yaitu:
Sistem biner, berbasis 2,
Sistem oktal, berbasis 8,
Sistem heksadesimal, berbasis 16,
Sistem seksagesimal, berbasis 60,
dan sistem numerik berbasis lainnya.
Seluruh sistem di atas menggunakan eksponen. Berarti setiap angka pada posisi tertentu, nilainya adalah sebesar angka tersebut dikalikan basisnya dipangkatkan posisinya.

Faktoradik
Faktoradik adalah sebuah sistem bilangan yang setiap posisi angka memiliki basis sesuai dengan faktorial dari posisinya. Sistem bilangan ini memungkinkan untuk membangkitkan permutasi dalam urutan leksikografik.
Faktoradik memiliki bentuk deretan bilangan an…a4a3a2a1a0, dengan setiap bilangan ai bersifat:

dan

Nilai faktoradik
Nilai sebuah faktoradik an…a4a3a2a1a0 dapat dengan mudah didapat menggunakan formula:

Sebagai contoh, bilangan 2,1,1,1,0
Posisi setiap bilangan, sama seperti pada sistem bilangan posisional lainnya, dinomori mulai dari 0 dari sebelah kanan.
Bilangan ke 5 4 3 2 1 0
Bilangan 0 2 1 1 1 0
Faktorial 120 24 6 2 1 1
Sehingga nilainya adalah sebesar: 2×4! + 1×3! + 1×2! + 1×1! + 0×0! = 57
Di bawah ini adalah daftar 24 faktoradik pertama beserta nilainya:
Faktoradik Nilai Faktoradik Nilai Faktoradik Nilai Faktoradik Nilai
0, 0, 0, 0 0 1, 0, 0, 0 6 2, 0, 0, 0 12 3, 0, 0, 0 18
0, 0, 1, 0 1 1, 0, 1, 0 7 2, 0, 1, 0 13 3, 0, 1, 0 19
0, 1, 0, 0 2 1, 1, 0, 0 8 2, 1, 0, 0 14 3, 1, 0, 0 20
0, 1, 1, 0 3 1, 1, 1, 0 9 2, 1, 1, 0 15 3, 1, 1, 0 21
0, 2, 0, 0 4 1, 2, 0, 0 10 2, 2, 0, 0 16 3, 2, 0, 0 22
0, 2, 1, 0 5 1, 2, 1, 0 11 2, 2, 1, 0 17 3, 2, 1, 0 23
Mendapatkan Faktoradik dari Sembarang Bilangan
Suatu faktoradik bisa diperoleh dari sembarang bilangan n dengan algoritma sebagai berikut:
Cari i! terbesar di mana i! < n
Bagi n dengan i!, akan didapatkan hasil bagi d dan sisa bagi m.
d adalah digit faktoradik ke-i, yaitu ai
Ulangi dari langkah kedua, dengan m(sisa bagi) menggantikan n, dan i − 1 menggantikan i.
Algoritma selesai jika i sudah mencapai 0.
Ketika berakhir, algoritma ini akan menghasilkan deretan faktoradik an…a4a3a2a1a0.
Permutasi
Bilangan Inversi
Membentuk Permutasi berdasarkan Faktoradik
Pertama-tama kita harus membuat kesepakatan mengenai indeks. Indeks untuk untai dimulai dengan indeks 0 dari kiri.
Untai a b c d e f g
Indeks 0 1 2 3 4 5 6
Disediakan sebuah untai s, dan sebuah faktoradik f, maka algoritma untuk menghasilkan sebuah permutasi dari s adalah:
Sediakan satu tempat, yaitu s' untuk menampung untai hasil permutasi
Mulai dari digit f paling kiri (digit dengan indeks posisi paling besar):
Ambil huruf dari s di posisi fi, pindahkan ke s'
Ulangi hingga tidak ada lagi huruf pada untai s
Ketika algoritma ini selesai, s' akan merupakan permutasi dari s yang sesuai dengan f
Sebagai contoh, untuk menghasilkan permutasi dari abcdefg, dengan indeks faktoradik 5341200 dengan algoritma tersebut, diberikan:

dan
f = (5,3,4,1,2,0,0)
Disediakan (masih kosong).
Untai a b c d e f g
Indeks 0 1 2 3 4 5 6
Pertama, mulai dari f6, yaitu 5. Kemudian pindahkan huruf ke-5 (indeks 5) pada untai s ke untai s', yaitu huruf f. Kondisi s dan s' sekarang menjadi dan
Dengan s sekarang menjadi:
Untai a b c d e g
Indeks 0 1 2 3 4 5
Bilangan kedua dari f, yaitu f5 adalah 3, maka pindahkan huruf ke-3 pada untai s ke untai s'. Maka kondisinya menjadi dan
Untai a b c e g
Indeks 0 1 2 4 6
Dan seterusnya, yang jika dituliskan sekaligus adalah seperti ini:
i fi s s'
6 5 abcdeg f
5 3 abceg fd
4 4 abce fdg
3 1 ace fdgb
2 2 ac fdgbe
1 0 c fdgbea
0 0 fdgbeac
Kode-kode program
Kode program untuk membangkitkan faktoradik
Pascal
FMax := CariFaktorialTerbesar(Bilangan);
Sisa := Bilangan;
for i := FMax downto 0 do
begin
f := Faktorial(i);
A[i] := Sisa div f;
Sisa := Sisa mod f;
end;

Kode untuk membangkitkan permutasi dari faktoradik
Pascal
function Permutasi(Untai: STRING; Faktoradik: array of INTEGER): STRING;
var
Hasil: STRING;
i, Indeks: INTEGER;
begin
Hasil:=;

for i:=Low(Faktoradik) to High(Faktoradik) do
begin
Indeks:=Faktoradik[i] + 1; // Indeks ditambah 1 karena indeks array berawal dari 0
Hasil:=Hasil + Untai[ Indeks ];
Delete(Untai, Indeks, 1);
end;

Permutasi:=Hasil;
end;

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: