Caesar Cipher di Twitter dengan Python


Setelah sebelum nya kita membahas bagaimana koneksi python dan twitter dan memposting dari file text. Sekarang kita mencoba untuk memposting tweet yang terenkripsi menggunakan caesar cipher dengan script sederhana python.

Sebelum lebih lanjut, bagaimana caesar cipher bekerja di python dalam melihat laman berikut http://inventwithpython.com/hacking/chapter6.html setelah jelas kita hanya meggambungkan caesar cipher tersebut dengan koneksi python. sebagai berikut script nya:

Hal yang perlu anda setting sesuai dengan keinginnan ada adalah:

key = 'isi sesuai dengan twitter anda'
secret = 'isi sesuai dengan twitter anda'
token = 'isi sesuai dengan twitter anda'
token_secret = 'isi sesuai dengan twitter anda'
filename=open('filenomor','r')#filenomor = isi sesuai dengan nama file text anda
 key = 3 # angka "3" isi dengan berapa pergeseran yang anda inginkan
time.sleep(4) # jeda antara twitter
import twitter, time, sys
key = 'isi sesuai dengan twitter anda'
secret = 'isi sesuai dengan twitter anda'
token = 'isi sesuai dengan twitter anda'
token_secret = 'isi sesuai dengan twitter anda'

auth=twitter.OAuth(token, token_secret, key, secret)
client = twitter.Twitter(auth=auth)


filename=open('filenomor','r')#filenomor = isi sesuai dengan nama file text anda
f=filename.readlines()
filename.close()
 
for line in f:

	#Caesar Cipher
	MAX_KEY_SIZE = 26
	
	def getMode():
		while True:
			if mode in 'encrypt e decrypt d'.split():
				return mode
			else:
				print('Enter either "encrypt" or "e" or "decrypt" or "d".')


	def getTranslatedMessage(mode, message, key):
		if mode[0] == 'd':
			key = -key
		translated = ''
	
		for symbol in message:
			if symbol.isalpha():
				num = ord(symbol)
				num += key
			
				if symbol.isupper():
					if num > ord('Z'):
						num -= 26
					elif num < ord('A'):
						num += 26
				elif symbol.islower():
					if num > ord('z'):
						num -= 26
				elif num < ord('a'):
					num += 26

				translated += chr(num)
			else:
				translated += symbol
		return translated

	mode = 'encrypt'
	message = line
	key = 3 # angka "3" isi dengan berapa pergeseran yang anda inginkan

	#print('Your translated text is:')
	statusx=getTranslatedMessage(mode, message, key)
	print(statusx)
	client.statuses.update(status=statusx)
	time.sleep(4) # jeda antara twitter 

Mempost twitter dari file text


Sebelum nya telah dibahas tentang bagaimana koneksi python dan twitter serta bagaimana memposting via python. Saat ini kita mencoba untuk metwitt yang berasal dari file text.

1. pertama-tama buat list apa saja yang ingin dibuat di file text dengan batasan di setiap line nya. misal saya mengcopy lirik lagu berikut dan save dengan nama file filelagu

Dan....bila esok...
datang kembali Seperti
sedia kala dimana kau bisa bercandaDan...
perlahan kaupun lupakan akuMimpi burukmu...
dimana t'lah ku tancapkan duri tajamKaupun menangis...
menangis sedihMaafkan aku
Dan...bukan maksudku...
bukan inginkuMelukaimu sadarkan kau di sini kupun terluka
Melupakanmu...menepikanmuMaafkan aku....
Reff : Lupakan saja dirikuBila itu bisa membuatmu
Kembali bersinar dan berpijarSeperti dulu kala
Caci maki saja dirikuBila itu bisa membuatmu
Kembali bersinar dan berpijarSeperti dulu kala
Dan...bukan maksudku...bukan inginku
Melukaimu sadarkan kau di sini kupun terluka
Melupakanmu...menepikanmu
Maafkan aku....

2. tulis script python sebagai berikut

import twitter, time, sys
key = 'isi sesuai dengan twitter anda'
secret = 'isi sesuai dengan twitter anda'
token = 'isi sesuai dengan twitter anda'
token_secret = 'isi sesuai dengan twitter anda'

auth=twitter.OAuth(token, token_secret, key, secret)
client = twitter.Twitter(auth=auth)


filename=open('filelagu','r')
f=filename.readlines()
filename.close()
 
for line in f:
    client.statuses.update(status=line)
    time.sleep(2)#Tweet setiap 2 detik

jeda antara twit bisa diatur di script “time.sleep(2)”

Karena twitter tidak memperkenankan duplicate twitt dalam waktu tertentu, maka pada line yang sama, twitter akan langsung mereject post tersebut.

Koneksi Python Twitter


ide dasarnya bagaimana kita dapat mengelola akun twitter melalui PC kita tanpa harus login di webbrowser ataupun menggunakan program twitter. Kita menggunakan pemograman sederhana python untuk koneksi tersebut.

Berikut step-stepnya:

1.buat token via twitter https://apps.twitter.com/ >Create NewApp> isi data-data yang diminta dan create twitter appilication

2. Ubah Setting sesuai keinginan

3. Ambil data-data berikut: Consumer Key (API Key), Consumer Secret (API Secret), Access Token, Access Token Secret

Setelah itu masuk kedalam instalasi paket twitter kedalam python

sudo pip install twitter

Jika ada problem di pip nya, remove pip dan easy_install pip

sudo apt-get purge python-pip
sudo easy_install pip

4. Tulis program sederhana sebagai berikut dan save kedalam file misal testtwitter.py:

import twitter 
key = 'isi sesuai dengan twitter'
secret = 'isi sesuai dengan twitter
token = 'isi sesuai dengan twitter'
token_secret = 'isi sesuai dengan twitter'
auth=twitter.OAuth(token, token_secret, key, secret)
 

 

5. Setelah itu run file python tersebut di terminal python testtwitter.py , jika tidak ada error python sudah terkoneksi dengan twitter

Jika ingin mencoba posting tambahkan script di testtwitter.py

client = twitter.Twitter(auth=auth)
client.statuses.update(status="#Python test!")

cek di twitter sudah terposting #Python test!

Demodulasi BPSK via Simulink


Setelah di post sebelum nya kita membahas modulasi BPSK modulasi-bpsk-via-simulink modulasi-bpsk-via-simulink-modified sekarang kita mencoba membahas Demodulasi atau membuat demodulator BPSK dengan Simulink

Sebelum memasuki Receiver kita dapat mensimulasikan sinyal setelah modulator kedalam kanal AWGN. Berikut sketch simulink nya. parameter kanal AWGN bisa disesuaikan dengan keinginan, saat ini saya menggunakan parameter mode SNR 10 dB dan input signal 1 watt

Screenshot from 2015-06-04 21:19:43

setelah itu skets tersebut kita dapat sambungkan ke design demodulator sebagai berikut: settingan sin cos dapat disesuaikan dengan Transmiter yang kita buat sebelum nya

Screenshot from 2015-06-04 21:27:19

Screenshot from 2015-06-04 21:28:19

Setelah itu kita dapat membandingkan dengan menggunakan scope

– gambar pertama adalah bit yang dikirim

– gambar kedua adalah sinyal yang telah termodulasi

– gambar ketiga adalah sinyal setelah kanal AWGN

– Sinyal keempat adalah sinyal yang sudah terdemodulasi namun belum dikembalikan kedalam bentuk bit

Bagaimana sinyal yang telah termodulasi tersebut kita dapat kembalikan kedalam bentuk bit? jika kita perhatikan gambar pertama dan keempat memiliki kemiliki kemiripan, dimana bit satu direpresentasikan dalam domain + dan bit 0 kedalam domain -. oleh sebab itu sinyal discrete tersebut kita dalam konversikan dengan sederhana if >0 = 1 else 1. Pada simulink kita dapat merepresentasikan hal tersebut salah satunya dengan cara penggunaan blok sign. Teruskan skets sebagai berikut

Screenshot from 2015-06-04 21:35:55maka scope yang akan didapatkan akan seperti berikut

Screenshot from 2015-06-04 21:35:46

disinyal terakhir kita bisa lihat kita sudah mendapatkan bit – bit pada demudolator bpsk namun banyak sekali simpangan-simpangan yang tidak sesuai dengan bit asli, mengapa begitu?