• Tidak ada hasil yang ditemukan

Penulisan dan Penjelasan Kode Program

Dalam dokumen PEMANFAATAN RASPBERRY PI SEBAGAI PEMUTAR (Halaman 43-51)

BAB IV HASIL DAN PEMBAHASAN

4.1 Tahap Pembuatan Sistem

4.1.3 Penulisan dan Penjelasan Kode Program

Tahap berikutnya penulisan program dengan menggunakan bahasa python menggunakan aplikasi Xming dan PuTTY agar bekerja dengan baik kemudian program tersebut diunggah ke mikrokontoler. Pada penulisan program ini memiliki dua bagian. yang pertama adalah library API Twitter yang berisi class pada twitter dan read untuk membaca isi keseluruhan dari timeline twitter. kedua adalah fungsi utama yang nantinya digunakan untuk memanggil class twitter yang ada di library.

4.1.3.1 Mulai Menjalankan API Twitter

Fungsi ini digunakan untuk memulai membaca isi dari twitter. berikut ini adalah kode program yang berfungsi untuk memanggil API twitter yang ada di library. Consumer_key, consumer_secret, oauth_token, dan oauth_token_secret di dapatkan pada saat menggunakan API twitter sebagai syarat untuk menjalankan aplikasi atau program yang akan dibuat.

4.1.3.2 Membaca isi Timeline

Fungsi ini digunakan untuk membaca sebanyak 10 tweet yang ada di timeline yang telah dimulai pada proses sebelumnya. Berikut merupakan kode program yang terdapat di dalam API twitter.

def start(self): self.tw = Twython(config.CONSUMER_KEY, config.CONSUMER_SECRET, config.OAUTH_TOKEN, config.OAUTH_TOKEN_SECRET)

def read(self, count=10):

self.trace("read:" + str(count)) found = 0

self.clear()

timeline = self.tw.get_home_timeline(count=count, max_id=None, since_id = None)

if (len(timeline) == 0):

self.trace("no tweets returned") return 0

4.1.3.3 Mengambil List Timeline

Fungsi ini digunakan untuk mengambil satu per satu list tweet pada timeline. Berikut merupakan kode program di dalam library API Twitter.

4.1.3.4 Memampilkan User, Tweet dan Name for tweet in timeline:

screen_name = tweet['user']['screen_name']

screen_name = screen_name.encode('ascii', 'replace')

name = tweet['user']['name']

name = name.encode('ascii', 'replace') text = tweet['text']

text = text.encode('ascii', 'replace')

if (self.accept(text)): found += 1

self.store(id, screen_name, name, text)

def get(self, index=0):

self.trace("get:" + str(index)) return self.cache[index]

Pada fungsi ini sistem akan menampilkan informasi ke user. Informasi tersebut antara lain: fungsi showUser digunakan untuk menampilkan ID dari user, fungsi showTweet digunakan untuk menampilkan isi tweet dari user, dan fungsi showName digunakan untuk menampilkan nama dari user. Berikut adalah kode yang digunakan.

4.1.3.4 Cek Kondisi Bahagia

Fungsi ini digunakan untuk mendapatkan jumlah kata pada tweet dengan kondisi bahagia. Apabila didapatkan karakter tweet yang menyerupai isi dalam array maka variable jumlah kata akan menjumlah banyaknya tweet yang menyerupai isi dalam array, kemudian fungsi akan mengembalikan nilai pada total kata sesuai dengan isi jumlah kata. Berikut merupakan kode program yang digunakan untuk cek kondisi bahagia.

def cekBahagia(text): jmlkata = 0 totalkata = 0

data = ["senang", "bahagia", "happy", "hore", "menyenangkan", "semangat", "tidak menyerah", "berhasil", "luar biasa", "amazing"] # database kondisi senang

for i in range(0, len(data)):

jmlkata = len(re.findall(data[i], text)) def showUser(user):

print "user:"+user # menunjukkan id user

def showTweet(text):

print "tweet:"+text # isi tweet user

def showName(name):

totalkata = totalkata + jmlkata return totalkata

4.1.3.5 Cek Kondisi Sedih

Fungsi ini digunakan untuk mendapatkan jumlah kata pada tweet dengan kondisi sedih. Apabila didapatkan karakter tweet yang menyerupai isi dalam array maka variable jumlah kata akan menjumlah banyaknya tweet yang menyerupai isi dalam array, kemudian fungsi akan mengembalikan nilai pada total kata sesuai dengan isi jumlah kata. Berikut merupakan kode program yang digunakan untuk cek kondisi sedih.

4.1.3.6 Path Lagu Bahagia

Pada fungsi ini berisi lagu bahagia yang tersimpan di dalam folder

newlagubahagia. Variable kode dihasilkan oleh program secara acak, variable kode juga digunakan untuk mendapatkan lagu senang secara acak. Apabila kode menunjukkan nilai 1 maka yang berputar adalah lagu semangat.mp3, apabila kode menunjukkan nilai 2 maka yang berputar lagu semangat2.mp3, dan apabila

def cekSedih(text): jmlkata = 0 totalkata = 0

data = ["sedih", "susah", "sad", "galau", "menjemukan", "tidak bersemangant", "gelisah", "kecewa", "nangis", "memalukan"] # database kondisi sedih

for i in range(0, len(data)):

jmlkata = len(re.findall(data[i], text)) totalkata = totalkata + jmlkata

apabila kode menunjukkan yang bukan nilai 1 dan 2 maka memainkan

lagusemangat3.mp3.

4.1.3.7 Path Lagu Sedih

Pada fungsi ini berisi lagu sedih yang tersimpan di dalam folder

newlagusedih. Variable kode dihasilkan oleh program secara acak, variable kode juga digunakan untuk mendapatkan lagu senang secara acak. Apabila kode menunjukkan nilai 1 maka yang berputar adalah lagu galau.mp3, apabila kode menunjukkan nilai 2 maka yang berputar lagu galau2_2.mp3, dan apabila apabila kode menunjukkan yang bukan nilai 1 dan 2 maka memainkan galau3_1.mp3.

def laguSedih(kode): # lagu sedih if kode == 1:

path = lokasiLaguSedih + 'galau.mp3' elif kode == 2:

path = lokasiLaguSedih + 'galau2_2.mp3' else:

def laguBahagia(kode): # lagu senang if kode == 1:

path = lokasiLaguSenang + 'semangat.mp3' elif kode == 2:

path = lokasiLaguSenang + 'semangat2.mp3' else:

path = lokasiLaguSenang + 'semangat3.mp3' os.system('omxplayer'+ path)

path = lokasiLaguSedih + 'galau3_1.mp3' os.system('omxplayer'+ path)

4.1.3.8 Fungsi Utama Twitter

Pada fungsi utama ini digunakan untuk membaca 10 tweet teratas yang terdapat pada timeline. Setelah membaca keseluruhan isi dari timeline, kemudian mengambil satu per satu list dari tweet dan mengecek apakah salah satu list tweet memiliki kondisi bahagia dan kondisi sedih. Jika di dalam tweet memiliki kondisi bahagia, maka variable bahagia akan merekam isi nilai karakter senang. Jika di dalam tweet memiliki kondisi sedih, maka variable sedih akan merekam nilai pada karakter sedih. Setelah menampilkan variable bahagia dan sedih, kemudian sistem akan merandom nilai dari variable kode yang digunakan untuk memutar lagu secara acak. jika kondisi bahagia lebih banyak dari kondisi sedih, maka lagu yang diputar adalah lagu bahagia. Jika kondisi sedih lebih banyak dari kondisi senang, maka lagu yang diputar adalah lagu sedih. Apabila kondisi bahagia sama dengan kondisi sedih dan kondisi bahagia dan kondisi sedih tidak nol, maka lagu bahagia yang diputar.

total = 10 # jumlah list tweet yg dapat dibaca / tweet limit

lokasiLaguSenang = ‘ home/pi/Desktop/newlagubahagia/’ lokasiLaguSedih = ‘ home/pi/Desktop/newlagusedih/’ tw = Twitter()

tw.start() # mulai api twitter

while True:

print

"---"

print "Result: "+str(n)+"/"+str(total)

for i in range(n-1,-1,-1):

item = tw.get(i) # mengambil satu per satu list dari tweet id = item["id"] screen_name = item["screen_name"] name = item["name"] text = item["text"] showUser(screen_name) showTweet(text) showName(name)

bahagia = cekBahagia(text) # karakter senang sedih = cekSedih(text) # karakter sedih print "jmlsenang:%d" % cekBahagia(text) print "jmlsedih:%d" % cekSedih(text)

kode = random.randint(0,3) # random untuk acak lagu

print "kode: " print kode

laguBahagia(kode) elif sedih > bahagia:

laguSedih(kode)

elif (bahagia == sedih) and (bahagia > 0 and sedih > 0): laguBahagia(kode) print "---" time.sleep(1000)

Dalam dokumen PEMANFAATAN RASPBERRY PI SEBAGAI PEMUTAR (Halaman 43-51)

Dokumen terkait