BAB III PENGEMBANGAN TEOREMA DAN PERANCANGAN PROGRAM

dokumen-dokumen yang mirip
BAB 3 PENGEMBANGAN TEOREMA DAN PERANCANGAN PROGRAM

BAB 2 LANDASAN TEORI

ANALISIS PERBANDINGAN TEOREMA LUCAS-LEHMER DAN TEOREMA POCKLINGTON DALAM UJI PRIMALITAS

BAB 2 LANDASAN TEORI

PERANCANGAN PROGRAM APLIKASI UJI PRIMALITAS BERDASARKAN TEOREMA POCKLINGTON

BAB 4. TEOREMA FERMAT DAN WILSON

II. TINJAUAN PUSTAKA. Pada bab ini akan dibahas konsep-konsep yang mendasari konsep representasi

LANDASAN TEORI. bilangan coprima, bilangan kuadrat sempurna (perfect square), kuadrat bebas

II. TINJAUAN PUSTAKA. bilangan yang mendukung proses penelitian. Dalam penyelesaian bilangan

TINJAUAN PUSTAKA. Pada bab ini akan diberikan beberapa definisi teori pendukung dalam proses

Materi Pembinaan Olimpiade SMA I MAGELANG TEORI BILANGAN

Nama Mata Kuliah : Teori Bilangan Kode Mata Kuliah/SKS : MAT- / 2 SKS

BAB 1 PENDAHULUAN. dipelajari. Pada awalnya, keindahan sifat bilangan atau sistem bilangan merupakan

II. TINJAUAN PUSTAKA. Pada bab ini akan diberikan konsep dasar (pengertian) tentang bilangan sempurna,

BAB II KETERBAGIAN. 1. Mahasiswa bisa memahami pengertian keterbagian. 2. Mahasiswa bisa mengidentifikasi bilangan prima

R. Rosnawati Jurusan Pendidikan Matematika FMIPA UNY

II. TINJAUAN PUSTAKA. Pada bab ini akan diberikan konsep dasar (pengertian) tentang bilangan sempurna,

Manusia itu seperti pensil Pensil setiap hari diraut sehingga yang tersisa tinggal catatan yang dituliskannya. Manusia setiap hari diraut oleh rautan

BAB 2 LANDASAN TEORI. Universitas Sumatera Utara

Teori Bilangan (Number Theory)

Lembar Kerja Mahasiswa 1: Teori Bilangan

Pembagi Persekutuan Terbesar dan Teorema Bezout

II. TINJAUAN PUSTAKA. Pada bagian ini diterangkan materi yang berkaitan dengan penelitian, diantaranya konsep

BAB I NOTASI, KONJEKTUR, DAN PRINSIP

Pengantar Teori Bilangan

TEORI BILANGAN. Bilangan Bulat Bilangan bulat adalah bilangan yang tidak mempunyai pecahan desimal, misalnya 8, 21, 8765, -34, 0.

BAB II LANDASAN TEORI. yang mendasari pembahasan pada bab-bab berikutnya. Beberapa definisi yang

2 BILANGAN PRIMA. 2.1 Teorema Fundamental Aritmatika

Matematika Diskrit. Reza Pulungan. March 31, Jurusan Ilmu Komputer Universitas Gadjah Mada Yogyakarta

Disajikan pada Pelatihan TOT untuk guru-guru SMA di Kabupaten Bantul

UJI PRIMALITAS. Sangadji *

Integer (Bilangan Bulat)

3 TEORI KONGRUENSI. Contoh 3.1. Misalkan hari ini adalah Sabtu, hari apa setelah 100 hari dari sekarang?

BAB 2 LANDASAN TEORI. Pada bab ini dibahas landasan teori yang akan digunakan untuk menentukan ciri-ciri dari polinomial permutasi atas finite field.

MAKALAH KRIPTOGRAFI CHINESE REMAINDER

BAB 4. TEOREMA FERMAT DAN WILSON

KEKONVERGENAN DERET RECIPROCALS PRIMA YANG BERHUBUNGAN DENGAN BILANGAN FERMAT ABSTRACT

BAHAN AJAR TEORI BILANGAN. DOSEN PENGAMPU RINA AGUSTINA, S. Pd., M. Pd. NIDN

Teori bilangan. Nama Mata Kuliah : Teori bilangan Kode Mata Kuliah/SKS : MAT- / 2 sks. Deskripsi Mata Kuliah. Tujuan Perkuliahan.

BAB II TINJAUAN PUSTAKA

DAFTAR ISI 3 TEORI KONGRUENSI 39 4 TEOREMA FERMAT DAN WILSON 40

CHAPTER 5 INDUCTION AND RECURSION

Beberapa Uji Keterbagian Bilangan Bulat

TEORI BILANGAN Setelah mempelajari modul ini diharapakan kamu bisa :

CHAPTER 5 INDUCTION AND RECURSION

Pemfaktoran prima (2)

BAB 4. TEOREMA FERMAT DAN WILSON

Penyelesaian Persamaan Linear Dalam Bentuk Kongruen

Tentukan semua bilangan bulat x sedemikian sehingga x 1 (mod 10). Jawab. x 1 (mod 10) jika dan hanya jika x 1 = 10 k untuk setiap k bilangan bulat.

Nama Mata Kuliah : Teori Bilangan Kode Mata Kuliah/SKS : MAT- / 2 SKS

G a a = e = a a. b. Berdasarkan Contoh 1.2 bagian b diperoleh himpunan semua bilangan bulat Z. merupakan grup terhadap penjumlahan bilangan.

Bilangan Prima dan Teorema Fundamental Aritmatika

BAB I PENDAHULUAN. Penyampaian pesan dapat dilakukan dengan media telephone, handphone,

BAB III BAB III METODE PENELITIAN

Pertemuan 4 Pengantar Teori Bilangan

Analisis dan Implementasi Serangan Kunci secara Konkuren pada Algoritma RSA

Bab 2: Kriptografi. Landasan Matematika. Fungsi

MENENTUKAN KELIPATAN PERSEKUTUAN TERKECIL (KPK) DAN FAKTOR PERSEKUTUAN TERBESAR (FPB) DENGAN METODE EBIK

Contoh-contoh soal induksi matematika

TEORI BILANGAN (3 SKS)

Pengantar Teori Bilangan

Aplikasi Teori Bilangan Dalam Algoritma Enkripsi-Dekripsi Gambar Digital


Decission : if & if else

II. TINJAUAN PUSTAKA. terkait dengan pokok bahasan. Berikut ini diberikan pengertian-pengertian dasar

BAB III ANALISIS DAN DESAIN SISTEM

Sieve of Eratosthenes dan Aplikasinya Dalam Problem Solving

Setelah mengikuti materi Bab ini mahasiswa diharapkan mampu: 2. Mendefinisikan factor persekutuan, kelipatan persekutuan, FPB, dan KPK.

FAKTOR DAN KELIPATAN KELAS MARS SD TETUM BUNAYA

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB II BAB II TINJAUAN PUSTAKA

Induksi Matematika. Fitriyanti Mayasari

Metode pembuktian untuk proposisi yang berkaitan dengan bilangan bulat adalah induksi matematik.

BAB III PELABELAN KOMBINASI

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM

BAB II DASAR TEORI. membahas tentang penerapan skema tanda tangan Schnorr pada pembuatan tanda

APLIKSASI TES BILANGAN PRIMA MENGUNAKAN RABIN- MILLER, GCD, FAST EXPONENSIAL DAN FAKTORISASI PRIMA UNTUK DASAR MATEMATIS KRIPTOGRAFI

BAB 2 TINJAUAN PUSTAKA

MODUL PERKULIAHAN EDISI 1 MATEMATIKA DISKRIT

n suku Jadi himpunan bilangan asli dapat disajikan secara eksplisit N = { 1, 2, 3, }. Himpunan bilangan bulat Z didenisikan sebagai

DIKTAT KULIAH (2 sks) MX 127 Teori Bilangan

BAB 1 PENDAHULUAN Latar belakang

2. Algoritma, Kompleksitas dan Teori Bilangan

Kelipatan Persekutuan Terkecil (KPK)

METODE SOLOVAY-STRASSEN UNTUK PENGUJIAN BILANGAN PRIMA

BAB II TINJAUAN PUSTAKA

MENENTUKAN PRIMALITAS SEMUA BILANGAN YANG TERDAPAT PADA SELANG TERTENTU SECARA BRUTE FORCE

PENGUJIAN BILANGAN CARMICHAEL. (Skripsi) Oleh SELMA CHYNTIA SULAIMAN

BAB V BILANGAN BULAT

II. LANDASAN TEORI. Secara umum, apabila α bilangan bulat dan b bilangan bulat positif, maka ada

BIDANG MATEMATIKA SMA

ALTERNATIF MENENTUKAN FPB DAN KPK

Sifat Prima Terhadap Fungsionalitas Algoritma RSA

BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB I INDUKSI MATEMATIKA

Bab 2 Daerah Euclid. 2.1 Struktur Daerah Euclid

Fungsi Rekursif PEMROGRAMAN DASAR. Dr. Eng. Herman Tolle, ST., MT. Sistem Informasi PTIIK UB Semester Ganjil 2014/2015

Pengantar Teori Bilangan. Kuliah 10

Induksi Matematik. Bahan Kuliah IF2120 Matematika Diskrit. Oleh: Rinaldi Munir. Program Studi Teknik Informatika STEI - ITB

1 TEORI KETERBAGIAN. Jadi himpunan bilangan asli dapat disajikan secara eksplisit N = { 1, 2, 3, }. Himpunan bilangan bulat Z didenisikan sebagai

Transkripsi:

BAB III PENGEMBANGAN TEOREMA DAN PERANCANGAN PROGRAM 3.1 Pengembangan Teorema Pada penelitian dan perancangan algoritma ini, akan dibahas mengenai beberapa teorema uji primalitas yang telah ditemukan baru baru ini. Teorema teorema ini tidak seluruhnya akan digunakan dalam pengembangan algoritma, oleh karena keterbatasan dari masing masing teorema. Berikut ini adalah teorema teorema uji primalitas. Teorema 3.1.1 Teorema Lucas Jika terdapat suatu bilangan bulat a di mana a n-1 1 (mod dan a (n-1)/p 1 (mod untuk semua bilangan prima p yang habis membagi n-1, maka n adalah bilangan prima. Bukti Misalkan a mempunyai order k modulo n. Teorema 2.8.1 menyatakan bahwa kondisi 1 a n 1(mod mengakibatkan k n 1; katakanlah, n 1 = kj untuk suatu j. Jika j > 1, maka j mempunyai suatu pembagi prima q. Sehingga terdapatlah suatu bilangan bulat h yang memenuhi j = qh. Sebagai hasilnya, a ( n 1) / q = ( a k ) h 1 h 1(mod

19 yang bertentangan dengan hipotesis di atas. Sehingga diperoleh j = 1. Tapi kita tahu bahwa order dari a tidak melebihi φ (. Jadi, n 1 = k φ( φ ( = n 1, di mana hal ini menyatakan bahwa n adalah prima. Contoh n 1, sehingga Kita ambil n = 997. Untuk a = 7, diperoleh 7 996 1(mod 997). Karena n 1 = 996 = 2 2 3 83, kita hitung 7 7 996 / 2 996 / 3 = 7 = 7 498 332 = 1(mod 997) = 304(mod 997) 7 996 / 83 12 = 7 = 9(mod 997). Berdasarkan Teorema 3.1.1, dapat disimpulkan bahwa 997 adalah prima. Teorema 3.1.2 Pengembangan Teorema Lucas Jika untuk setiap bilangan prima p i yang membagi n 1 terdapatlah suatu bilangan bulat a i di mana a n-1 i 1 (mod tetapi a (n-1)/pi i 1 (mod, maka n adalah bilangan prima. Bukti Misalkan bahwa n 1 = p k k kn 1 1 p2 2 L pn, di mana para p i merupakan bilangan bilangan prima yang berlainan. Misalkan juga h i adalah order a i modulo n. Berdasarkan fakta bahwa h i n 1 dan h i (n 1)/ p i menghasilkan ki p i h i. Tetapi untuk setiap i kita dapatkan h i φ (, sehingga p φ (. Akibatnya n 1 φ (, ki i sehingga n adalah bilangan prima. Contoh

20 Kita ambil lagi n = 997. Dengan mengetahui bahwa pembagi pembagi prima dari n 1 = 996 adalah 2, 3 dan 83, kita peroleh untuk basis basis yang berbeda 3, 5 dan 7 bahwa 3 5 996 / 83 996 / 2 = 3 = 5 12 498 = 40(mod 997) = 996(mod 997) 7 996 / 3 332 = 7 = 304(mod 997). Sesuai dengan Teorema 3.1.2, maka dapat kita simpulkan bahwa 997 adalah prima. Kedua teorema di atas sudah cukup mengurangi permasalahan uji primalitas bilangan n dengan cara menggunakan faktorisasi dari n 1. Tetapi untuk mencari faktor faktor dari n 1 tidak lebih mudah daripada mencari faktor faktor dari bilangan n itu sendiri. Selain itu pencarian pengujian memerlukan pemangkatan dari suatu basis terhadap bilangan itu sendiri dibagi masing masing faktor dari bilangan tersebut. Semakin banyak faktor dari bilangan tersebut perhitungan yang dibutuhkan untuk pengujian semakin banyak, sehingga perhitungan menjadi semakin rumit dan panjang. Oleh karena itu dikembanganlah teorema berikut. Teorema 3.1.3 Teorema Pocklington k k ks Misalkan n 1 = mj, di mana m = p1 1 p2 2 L ps, m n dan gcd(m,j) = 1. Jika untuk setiap bilangan prima p i (1 i s) terdapatlah suatu bilangan bulat a i di mana 1 a n i 1(mod ( n / dan gcd( 1) pi a 1, = 1, maka n adalah bilangan prima. n Bukti

21 Tidak berbeda jauh dengan argumen kita pada Teorema 3.1.2. Misalkan p sebagai pembagi prima dari n dan kita ambil h i sebagai order a i modulo p, sehingga h i p 1. 1 Dari kongruensi 1(mod p), kita dapatkan h i n 1. Hipotesis a n i ( n 1) pi ( n 1) pi gcd( ai 1, = 1 menyatakan bahwa ai 1(mod p) sehingga ki (n 1)/p i. Dapat diperlihatkan bahwa p h i, yang menghasilkan kita pada i h i k i p p i 1. Karena hasil ini berlaku untuk setiap i, maka m p 1. Sehingga kita dapatkan kontradiksi bahwa ada pembagi prima dari n yg lebih besar dari m n. Jadi n adalah prima. Dari teorema di atas, faktor faktor yang diperlukan dalam pengujian n hanyalah sebatas faktor faktor yang tergabung dalam m. Sehingga proses perhitungan jauh lebih singkat. 3.2 Perancangan Program 3.2.1 Struktur Program Gambar 3.1 Struktur Chart Input yang diperlukan program berupa bilangan. Di mana bilangan ini merupakan bilangan ganjil yang lebih besar dari 2. Hasil / keluaran dari program adalah laporan yang menyatakan bahwa bilangan masukan merupakan bilangan prima atau bukan dengan menyertakan salah satu faktor yang menyatakan bahwa bilangan tersebut bukan bilangan prima.

22 Pengujian berdasarkan teorema uji primalitas Pocklington. Tahap pengujian ada 2, yaitu pengujian berdasarkan uji modulo dan pencarian gcd bilangan tersebut dengan bilangan uji. 3.2.2 Tipe Data yang digunakan Untuk dapat menguji bilangan yang cukup besar diperlukan penampung data (tipe data) yang besar pula. Pada metode yang penulis gunakan, terdapat suatu ( n / pengujian berdasarkan rumus gcd( 1) pi a 1, = 1, di mana n sangat menentukan n besar ( n 1) / pi a n yang akan ditampung. Nilai ( n 1) / pi a n jauh lebih besar dari daya tampung tipe data yang telah tersedia, sehingga hasil perhitungan menjadi tidak akurat. Oleh karena itu diperlukanlah suatu tipe data baru yang dapat menampung hasil perhitungan di atas dan dukungan algoritma algoritma perhitungan untuk tipe data yang baru tersebut. Tipe data baru yang akan penulis gunakan adalah tipe data String, di mana tipe data ini dapat menampung bilangan yang sangat besar. Supaya tipe data ini dapat kita gunakan dalam perhitungan, maka diperlukanlah modul modul untuk mengoperasikan tipe data tersebut. Modul dasar operasinya adalah Modul Penjumlahan, Modul Pengurangan, Modul Perkalian dan Modul Pembagian. Kemudian modul modul ini digunakan sebagai dasar perhitungan dari fungsi fungsi / modul modul yang lain. Modul Penjumlahan dan Modul Pengurangan sama seperti dasar algoritma penjumlahan dan pengurangan bilangan. Modul Perkalian dari bilangan a dan b menggunakan Modul Penjumlahan bilangan a diulang sebanyak b kali. Sedangkan Modul Pembagian (a membagi b) menggunakan

23 Modul Pengurangan b dengan a terus menerus hingga b lebih kecil dari a. Jumlah perulangan dari pengurangan terserbut adalah hasil bagi, dan nilai b terakhir yang lebih kecil dari a merupakan sisa. 3.2.3 Tahap Tahap yang digunakan 3.2.3.1 Tahap pencarian GCD Sesuai namanya, modul ini bertujuan untuk mencari gcd dari 2 buah bilangan. Proses perhitungannya berdasarkan teorema teorema GCD, khususnya algoritma pembagian. Proses pencarian gcd berdasarkan modul pembagian, di mana blangan yang lebih besar dibagi bilangan yang lebih kecil sehingga didapatlah sisa bagi. Kemudian bilangan lebih kecil digunakan dalam proses pembagian oleh sisa tersebut sehingga didapat sisa yang baru. Proses ini berulang terus hingga sisa yang didapat sama dengan nol atau satu, maka didapatlah nilai gcd dari 2 bilangan tersebut. 3.2.3.2 Tahap Utama Uji Primalitas Terdapat 3 tahap pengujian, yaitu tahap pencarian faktor n 1, dan 2 tahap pengujian. Tahap pertama dari Modul Uji Primalitas adalah mencari faktor dari n 1, di mana n adalah bilangan yang diinput / akan diuji. Pemfaktoran n 1 berdasarkan Teorema Fundamental Aritmetika.dan Metode Eratosthenes, di mana nilai n 1 diuraikan satu persatu dimulai dari bilangan prima terkecil, yaitu 2, dengan menggunakan Modul Pembagian sampai dengan n, hingga didapatlah faktor

24 faktor primanya. Kemudian dari faktor faktor prima tersebut didapatkanlah suatu variabel m dan j, di mana p = m j, m > n dan m k k ks = p1 1 p L p 2 2 s. Untuk suatu n = a / b, di mana a b, nilai n akan semakin kecil jika nilai b semakin besar. Sehingga untuk memperkecil proses perhitungan, nilai m sebagai pembagi dari (n 1), sebaiknya diperoleh dari perkalian faktor faktor prima n 1 yang terbesar, hingga memenuhi syarat m > n. Tahap kedua dari Modul Uji Primalitas adalah pengujian dari faktor faktor 1 n 1 terhadap n dengan rumus 1(mod a n i untuk sebarang basis a i. Basis a i merupakan bagian dari faktor faktor p i. Untuk mempermudah pengujian maka sebaiknya kita gunakan basis a i yang relatif kecil, misal a i = 2. Sehingga hasil pemangkatan a i tidak terlalu besar, sehingga proses perhitungan dapat memakan 1 waktu yang lebih cepat. Perhitungan 1(mod a n i dapat dipermudah dengan 1 menggunakan Teorema Fermat. Jika 1(mod a n i telah terpenuhi maka pengujian tahap ketiga dapat dilakukan. Tahap ketiga dari Modul Uji Primalitas adalah pengujian terakhir ( n / berdasarkan rumus gcd( a 1) p i 1, = 1. Pengujian ini adalah perhitungan yang n paling sulit untuk dilakukan oleh karena besarnya bilangan yang akan diuji akan sangat besar, yaitu ( n 1) / pi a n, sehingga perlu waktu perhitungan yang relatif lama. Jika bilangan masukan telah lulus dari kedua tahap pengujian, maka akan dinyatakan bahwa bilangan tersebut adalah bilangan prima. Sebaliknya jika bilangan terserbut tidak lulus dari salah satu atau kedua tahap pengujian tersebut maka akan dinyatakan bahwa bilangan tersebut bukanlah bilangan prima.

25 3.2.4 Diagram Alir Modul penulis. Berikut ini adalah diagram alir dari program aplikasi yang dibuat oleh 3.2.4.1 Diagram Alir Modul Input input Berikut ini adalah diagram alir modul input yang menjelaskan proses validasi START Tidak Input = Bilagan bulat positif ganjil > 2 & Input < 1.000.000 Ya END Gambar 3.2 Gambar Diagram Alir Modul Input 3.2.4.2 Diagram Alir Modul GCD Berikut ini adalah diagram alir modul GCD yang menjelaskan tentang proses pencarian Greatest Common Divisor dari 2 bilangan.

26 Gambar 3.3 Gambar Diagram Alir Modul GCD 3.2.4.3 Diagram Alir Modul Faktorisasi Berikut ini adalah diagram alir modul Faktorisasi yang menjelaskan proses faktorisasi suatu bilangan hingga didapat faktor faktor dari suatu bilangan.

27 START j = 1 i = 2 i <= squareroot( + 1 Tidak Ya j = j + 1 jumlahfaktor = j faktor[j] = i i = i + 1 Tidak n (mod i) = 0 jumlahfaktor = j Ya n = n / i END Gambar 3.4 Gambar Diagram Alir Modul Faktorisasi 3.2.4.4 Diagram Alir Modul Utama dari n 1.. Berikut ini adalah diagram alir modul pencarian nilai m dari faktor faktor

Gambar 3.5 Gambar Diagram Alir Modul Pencarian nilai m 28

Gambar 3.6 Gambar Diagram Alir Modul Utama 29