<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="id">
	<id>https://wiki.unissula.ac.id/index.php?action=history&amp;feed=atom&amp;title=Geseran_melingkar</id>
	<title>Geseran melingkar - Riwayat revisi</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.unissula.ac.id/index.php?action=history&amp;feed=atom&amp;title=Geseran_melingkar"/>
	<link rel="alternate" type="text/html" href="https://wiki.unissula.ac.id/index.php?title=Geseran_melingkar&amp;action=history"/>
	<updated>2026-09-16T22:52:08Z</updated>
	<subtitle>Riwayat revisi halaman ini di wiki</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://wiki.unissula.ac.id/index.php?title=Geseran_melingkar&amp;diff=2810&amp;oldid=prev</id>
		<title>Maintenance script: Presentation V4: sitasi, referensi, Math, Wikimedia Commons, dan atribusi</title>
		<link rel="alternate" type="text/html" href="https://wiki.unissula.ac.id/index.php?title=Geseran_melingkar&amp;diff=2810&amp;oldid=prev"/>
		<updated>2026-08-23T14:07:34Z</updated>

		<summary type="html">&lt;p&gt;Presentation V4: sitasi, referensi, Math, Wikimedia Commons, dan atribusi&lt;/p&gt;
&lt;a href=&quot;https://wiki.unissula.ac.id/index.php?title=Geseran_melingkar&amp;amp;diff=2810&amp;amp;oldid=2410&quot;&gt;Lihat perubahan&lt;/a&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
	<entry>
		<id>https://wiki.unissula.ac.id/index.php?title=Geseran_melingkar&amp;diff=2410&amp;oldid=prev</id>
		<title>Maintenance script: Impor teks terkontrol dari Wikipedia bahasa Indonesia; revisi 25436911; atribusi sumber disertakan.</title>
		<link rel="alternate" type="text/html" href="https://wiki.unissula.ac.id/index.php?title=Geseran_melingkar&amp;diff=2410&amp;oldid=prev"/>
		<updated>2026-08-23T13:46:04Z</updated>

		<summary type="html">&lt;p&gt;Impor teks terkontrol dari Wikipedia bahasa Indonesia; revisi 25436911; atribusi sumber disertakan.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Halaman baru&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Dalam [[matematika]] [[kombinatorika]], &amp;#039;&amp;#039;&amp;#039;geseran melingkar&amp;#039;&amp;#039;&amp;#039; () adalah operasi penataan daftar dalam daftar berurut (&amp;#039;&amp;#039;tuple&amp;#039;&amp;#039;) yang menggeser entri terakhir ke awal lalu sisanya mengikuti (tergeser) atau sebaliknya. Geseran melingkar adalah jenis [[permutasi siklis]] yang khusus. Secara formal, geseran melingkar adalah [[permutasi]] σ dari &amp;#039;&amp;#039;n&amp;#039;&amp;#039; entri dalam daftar berurut sehingga&lt;br /&gt;
: &amp;lt;math&amp;gt;\sigma(i) \equiv (i + 1)&amp;lt;/math&amp;gt; [[Aritmetika modulus|modulus]] &amp;#039;&amp;#039;n&amp;#039;&amp;#039; untuk semua entri&lt;br /&gt;
atau&lt;br /&gt;
: &amp;lt;math&amp;gt;\sigma(i) \equiv (i - 1)&amp;lt;/math&amp;gt; [[Aritmetika modulus|modulus]] &amp;#039;&amp;#039;n&amp;#039;&amp;#039; untuk semua entri .&lt;br /&gt;
&lt;br /&gt;
Hasil dari penerapan geseran melingkar pada suatu daftar berurut disebut &amp;#039;&amp;#039;&amp;#039;pergeseran melingkar&amp;#039;&amp;#039;&amp;#039; dari daftar berurut tersebut.&lt;br /&gt;
&lt;br /&gt;
Misalnya, penerapan geseran melingkar untuk daftar berurut (&amp;#039;&amp;#039;a&amp;#039;&amp;#039;, &amp;#039;&amp;#039;b&amp;#039;&amp;#039;, &amp;#039;&amp;#039;c&amp;#039;&amp;#039;, &amp;#039;&amp;#039;d&amp;#039;&amp;#039;) berturut-turut menghasilkan&lt;br /&gt;
* (&amp;#039;&amp;#039;d&amp;#039;&amp;#039;, &amp;#039;&amp;#039;a&amp;#039;&amp;#039;, &amp;#039;&amp;#039;b&amp;#039;&amp;#039;, &amp;#039;&amp;#039;c&amp;#039;&amp;#039;),&lt;br /&gt;
* (&amp;#039;&amp;#039;c&amp;#039;&amp;#039;, &amp;#039;&amp;#039;d&amp;#039;&amp;#039;, &amp;#039;&amp;#039;a&amp;#039;&amp;#039;, &amp;#039;&amp;#039;b&amp;#039;&amp;#039;),&lt;br /&gt;
* (&amp;#039;&amp;#039;b&amp;#039;&amp;#039;, &amp;#039;&amp;#039;c&amp;#039;&amp;#039;, &amp;#039;&amp;#039;d&amp;#039;&amp;#039;, &amp;#039;&amp;#039;a&amp;#039;&amp;#039;),&lt;br /&gt;
* (&amp;#039;&amp;#039;a&amp;#039;&amp;#039;, &amp;#039;&amp;#039;b&amp;#039;&amp;#039;, &amp;#039;&amp;#039;c&amp;#039;&amp;#039;, &amp;#039;&amp;#039;d&amp;#039;&amp;#039;) (daftar berurut asli),&lt;br /&gt;
dan kemudian berulang; daftar berurut ini memiliki empat pergeseran melingkar yang berbeda. Namun, tidak semua daftar berurut jumlah &amp;#039;&amp;#039;n&amp;#039;&amp;#039; memiliki &amp;#039;&amp;#039;n&amp;#039;&amp;#039; pergeseran yang berbeda. Misalnya, daftar berurut (&amp;#039;&amp;#039;a&amp;#039;&amp;#039;, &amp;#039;&amp;#039;b&amp;#039;&amp;#039;, &amp;#039;&amp;#039;a&amp;#039;&amp;#039;, &amp;#039;&amp;#039;b&amp;#039;&amp;#039;) hanya memiliki dua pergeseran melingkar yang berbeda. Pada umumnya, jumlah pergeseran melingkar dari daftar berurut jumlah &amp;#039;&amp;#039;n&amp;#039;&amp;#039; dapat bernilai faktor-faktor &amp;#039;&amp;#039;n&amp;#039;&amp;#039; dan bergantung pada entri-entri dalam daftar berurut.&lt;br /&gt;
&lt;br /&gt;
Dalam [[pemrograman]], suatu [[rotasi tingkat bit]], juga dikenal sebagai pergeseran melingkar, adalah operasi tingkat bit yang menggeser semua bitnya. Hal ini berbeda dengan [[pergeseran aritmetika]]. Pergeseran melingkar tidak memedulikan bit tanda bilangan atau membedakan [[Perpangkatan|pangkat]] dengan [[bilangan pokok]] dalam [[bilangan titik mengambang]]. Hal ini juga berbeda dengan [[pergeseran logika]]. Posisi bit yang kosong diisi oleh bit yang tergeser keluar dari barisannya.&lt;br /&gt;
&lt;br /&gt;
== Implementasi ==&lt;br /&gt;
Geseran melingkar sering dipakai dalam [[kriptografi]] untuk melakukan permutasi barisan bit. Sayangnya, meski hampir semua [[Unit Pemroses Sentral|prosesor]] memiliki instruksi untuk itu (misalnya, [[x86|Intel x86]] memiliki perintah &amp;lt;code&amp;gt;ROL&amp;lt;/code&amp;gt; dan &amp;lt;code&amp;gt;ROR&amp;lt;/code&amp;gt;), banyak [[bahasa pemrograman]], termasuk [[C (bahasa pemrograman)|C]], tidak memiliki operator atau fungsi baku untuk pergeseran melingkar. Namun, beberapa [[kompilator]] menerjemahkan kode yang melakukan hal yang sama ke instruksi geseran melingkar yang sesuai. Kebanyakan kompilator C mengenali polanya dan menerjemahkan ke instruksi tunggal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Implementasi yang aman dan ramah kompilator di atas dikembangkan oleh [[John Regehr]] dan dirapikan lebih lanjut oleh Peter Cordes.&lt;br /&gt;
&lt;br /&gt;
Bentuk yang lebih sederhana biasa ditemui ketika &amp;lt;code&amp;gt;jumlah&amp;lt;/code&amp;gt; dibatasi dari 1 sampai 31 bit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bentuk tersebut cukup berbahaya karena ia akan menggeser sebanyak 32 bit bila &amp;lt;code&amp;gt;jumlah&amp;lt;/code&amp;gt; bernilai 0 atau 32 yang tidak didefinisikan dalam bahasa C. Namun, hal ini biasanya tetap bisa dipakai karena kebanyakan [[mikroprosesor]] menafsirkan &amp;lt;code&amp;gt;nilai &amp;gt;&amp;gt; 32&amp;lt;/code&amp;gt; sebagai geseran 32 bit (menghasilkan nol) atau tanpa pergeseran dan keduanya menghasilkan nilai yang tepat untuk penggunaan ini.&lt;br /&gt;
&lt;br /&gt;
Untuk [[C++]], penggunaan templat dapat memperluas dukungan untuk semua jenis [[bilangan bulat]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Contoh ==&lt;br /&gt;
Bila barisan bit  digeser melingkar sebanyak satu bit, barisan tersebut akan menjadi berikut: (lihat gambar)&lt;br /&gt;
&amp;lt;ul style=&amp;quot;margin-left: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Apabila geseran melingkar diteruskan, hasil pergeserannya adalah sebagai berikut:&lt;br /&gt;
&amp;lt;ul style=&amp;quot;margin-left: 0px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-table;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-table;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Catatan kaki ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Referensi ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sumber dan atribusi ==&lt;br /&gt;
&lt;br /&gt;
Konten artikel ini diadaptasi dari [https://id.wikipedia.org/w/index.php?title=Geseran+melingkar&amp;amp;oldid=25436911 Wikipedia bahasa Indonesia], revisi 25436911 (2024-03-15T06:04:40Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Mohon gunakan konten ini secara bijak serta sesuai dengan ketentuan lisensi yang berlaku.&lt;/div&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
</feed>