Archive

Archive for July, 2014

IPutil for Monitoring High Performance Computing system


Hari ini tanggal 22 Juli 2014, bertepatan dengan penetapan rekapitulisasi total perolehan suara Capres  oleh KPU.  Saya berharap kepada Presiden terpilih agar menjalankan amanah kepemimpinan ini dengan sebaik-baiknya, semoga rakyat Indonesia semakin sejahtera dibawah kepemimpinan beliau kelak.

Biarlah KPU menyelesaikan tugasnya sampai tuntas 😀 , kali ini kita akan mengupas bagaimana caranya memonitor salah satu system High Performace Computing yang kami kelola yaitu Sistem Informasi Akademik (SIAKAD) Unila. Mengapa dan untuk apa dimonitor ?? tentu pertanyaan ini akan muncul dibenak pembaca, baiklah saya coba ulas sedikit bagaimana konsep proyek rekayasa perangkat lunak yang umumnya diimplementasikan oleh kebanyakan developer sistem informasi, sebagian besar dari mereka mengadopsi konsep Sistem Development Life Cycle (SDLC).

SDLC terdiri dari 6 Fase Siklus yang berkelanjutan yaitu;  Fase Planning, Fase Analysis, Fase Design, Fase Implementation, Fase Support.  Secara spesifik proses  Monitor System Performance dilakukan pada fase ke 6 (Support) setelah seluruh sistem dipastikan telah berjalan dengan baik dan sesuai dengan requirement yang ada. Measuring Performance sangat penting dilakukan untuk mengukur tingkat kehandalan/endurance suatu sistem terutama ketika dihadapkan dengan serangkaian beban kerja/load besar, dari hasil analisis selanjutnya akan dijadikan pertimbangan apakah sistem existing sudah stable atau perlu dilakukan scalling out, scalling up  untuk meningkatkan kinerja. Saya kira cukup sekian penjelasannya, kesimpulannya proses monitoring ini penting… titik !!! 😀

Ok Lets move to another point, kita punya sistem dengan resource komputasi tinggi,  kira kira aplikasi apa yang cocok digunakan untuk memonitor ?? , karena platform virtualization berbasis VMWare Enterprise sebagai backend aplikasi maka sebetulnya VCentre yang reliable melakukan tugas ini, namun berhubung kita tidak punya lisensinya makanya beralih ke skenario alternatif lainnya. Ahaa  Ai Ce… there is Simple Network Management Protocol (SNMP) technology yang dapat digenerate dengan aplikasi third party semacam Solarwind, PRTG, MRTG  dan sebangsanya, tapi menurut saya itu terlalu Main Streaammm sodaraa sodaraa  hehehe. Kita coba dengan “hard way” yaitu build from the scrath menggunakan Python programming.  hmmm….   Whatttt ?? Python maniiing Python maniiing  kagak bosen lu Ndrooooo 😀 ,  ya kagak lah bro…. namanya  juga belajar, ibarat kate pepateh “Lifelong learning is the ongoing, voluntary, and self-motivated”  jadi akan terus berproses gak pake bosen 🙂 .

Yap kita siapkan dulu alat dan bahan yang dibutuhkan, gak perlu ke warung, mini market, apalagi indo maret, cukup siapkan Python dengan library Matplotlib, Numpy, Scipy, Python Psutil, Python MySQL Library, MySQL database, dan yang terpenting adalah “self motifated” tadi. Jika sudah kira kira ini source code hasil experiment saya, silahkan anda compile sendiri;

  • Listing program capturing memory utilization
#!/usr/bin/python
#By-Gigih-F, iseng-iseng aja : 17-07-2014 13:38 WIB)
import time
import datetime
now = datetime.datetime.now()
jam= now.strftime("%Y-%m-%d %H:%M")
import MySQLdb
import os
try:
 import psutil
except ImportError:
 print "Cannot import psutil module - this is needed for this application.";
 print "Exiting..."
 sys.exit();
try:
 import re # Needed for regex
except ImportError:
 print "Cannot import re module - this is needed for this application.";
 print "Exiting..."
 sys.exit();
#
# Routine to add commas to a float string
#
def commify3(amount):
 amount = str(amount)
 amount = amount[::-1]
 amount = re.sub(r"(\d\d\d)(?=\d)(?!\d*\.)", r"\1,", amount)
 return amount[::-1]
# end def commify3(amount):
# ===================
# Main Python section
# ===================
if __name__ == '__main__':
# memory usage:
 mem = psutil.virtual_memory();
 used = mem.total - mem.available;
 a1 = str(int(used / 1024 / 1024)) + "M";
 a2 = str(int(mem.total / 1024 / 1024)) + "M";
 a3 = commify3(a1) + "/" + commify3(a2);
 memtot = int(mem.total / 1024 / 1024);
 memavailable = int(mem.available / 1024 / 1024);
 memuse= memtot - memavailable
 mempercent = (mem.percent);
 muse1bufcache = int(mem.used / 1024 / 1024);
 memfree = int(mem.free / 1024 / 1024);
 memactive = int(mem.active / 1024 / 1024);
 meminactive = int(mem.inactive/ 1024 / 1024);
 membuffers = int(mem.buffers / 1024 / 1024);
 memcache = int(mem.cached / 1024 / 1024);
conn = MySQLdb.connect(host= "192.168.xxx.yyy",
 user="username",
 passwd="xxxyyy",
 db="siakad_monitor")
x = conn.cursor()
try:
 x.execute("""INSERT INTO memory VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)""", (now,memtot,memavailable,memuse,muse1bufcache,mempercent,memfree,mema
ctive,meminactive,membuffers,memcache,swaptot,swapused,swapfree,swappercent,swapin,swapout ))
 conn.commit()
except:
 conn.rollback()
# end if
  • Listing program plotting from database
##By-Gigih-F, iseng-iseng aja : 16-07-2014 13:52 WIB)
import matplotlib
matplotlib.use('Agg')
import Image
import MySQLdb as mdb
import sys
import matplotlib.pyplot as plt
import datetime
import shutil


now = datetime.datetime.now()
print now
#Inisialisasi ke Database
conn = mdb.connect('192.168.xxx.yyy', 'usernamemysql', 'xyzxyz', 'siakad_monitor');

with conn:
 cursor = conn.cursor ()
 cursor.execute ("SELECT memory.date,memory.memtot,memory.memavailable,memory.memuse,memory.muse1bufcache,memory.mempercent,memory.memfree,memory.memactive,memory.mem
inactive,memory.membuffers,memory.memcache FROM memory WHERE DATE (date) = DATE(NOW()) ")
 row = cursor.fetchall()
 print "RESULT:", row[0]
 date,memtot,memavailable,memuse,muse1bufcache,mempercent,memfree,memactive,meminactive,membuffers,memcache=zip(*row) #Fetching setiap row

def plot1():
 fig = matplotlib.pyplot.gcf()
 fig.set_size_inches(18.5,10.5)
 ax = plt.subplot(111)
 plt.plot(date,memuse,marker='+',linestyle='-',color='c',label='Utilisasi Memory Usage')
 plt.legend(loc=10)
 plt.ylabel('Memory Usage (MByte) ') #Label pada sumbu Y
 plt.xlabel('Waktu') #Label pada sumbu X
 plt.grid()
 plt.title(' Memory Usage SIAKAD tgl : [%s] (Credit to Python+MySQL)'%(now)) #Judul Grafik
 plt.savefig('/var/xxx/yyy/SIAKAD/siakadmemuse.png', dpi=100) #Simpan file dengan judul xxx.png
 plt.close()
def plot2():
 fig = matplotlib.pyplot.gcf()
 fig.set_size_inches(18.5,10.5)
 ax = plt.subplot(111)
 plt.plot(date,memavailable,marker='+',linestyle='-',color='c',label='Available Memory (MByte)')
 plt.legend(loc=10)
 plt.ylabel('Available Memory (MByte) ') #Label pada sumbu Y
 plt.xlabel('Waktu') #Label pada sumbu X
 plt.grid()
 plt.title(' Available Memory Server SIAKAD tgl : [%s] (Credit to Python+MySQL)'%(now)) #Judul Grafik
 plt.savefig('/var/xxx/yyy/SIAKAD/siakadmemavailable.png', dpi=100) #Simpan file dengan judul xxx.png
 plt.close()

def plot3():
 fig = matplotlib.pyplot.gcf()
 fig.set_size_inches(18.5,10.5)
 ax = plt.subplot(111)
 plt.plot(date,memuse,marker='+',linestyle='-',color='c',label='Memory Usage (MByte)')
 plt.legend(loc=10)
 plt.ylabel('Memory Usage (MByte) ') #Label pada sumbu Y
 plt.xlabel('Waktu') #Label pada sumbu X
 plt.grid()
 plt.title(' Memory Usage Server SIAKAD tgl : [%s] (Credit to Python+MySQL)'%(now)) #Judul Grafik
 plt.savefig('/var/xxx/yyy/SIAKAD/siakadmemuse.png', dpi=100) #Simpan file dengan judul xxx.png
 plt.close()

def plot4():
 fig = matplotlib.pyplot.gcf()
 fig.set_size_inches(18.5,10.5)
 ax = plt.subplot(111)
 plt.plot(date,muse1bufcache,marker='+',linestyle='-',color='c',label='Memory + Cache Usage (MByte)')
 plt.legend(loc=10)
 plt.ylabel('Memory + Cache Usage (MByte) ') #Label pada sumbu Y
 plt.xlabel('Waktu') #Label pada sumbu X
 plt.grid()
 plt.title(' Memory + Cache Usage Server SIAKAD tgl : [%s] (Credit to Python+MySQL)'%(now)) #Judul Grafik
 plt.savefig('/var/xxx/yyy/SIAKAD/siakadmuse1bufcache.png', dpi=100) #Simpan file dengan judul xxx.png
 plt.close()

def plot5():
 fig = matplotlib.pyplot.gcf()
 fig.set_size_inches(18.5,10.5)
 ax = plt.subplot(111)
 plt.plot(date,mempercent,marker='+',linestyle='-',color='c',label='Persentage Memory Utilization')
 plt.legend(loc=10)
 plt.ylabel('Percentage Memory Utilization') #Label pada sumbu Y
 plt.xlabel('Waktu') #Label pada sumbu X
 plt.grid()
 plt.title(' Persentage Memory Utilization: tgl : [%s] (Credit to Python+MySQL)'%(now)) #Judul Grafik
 plt.savefig('/var/xxx/yyy/SIAKAD/siakadmempercent.png', dpi=100) #Simpan file dengan judul xxx.png
 plt.close()


def plot6():
 fig = matplotlib.pyplot.gcf()
 fig.set_size_inches(18.5,10.5)
 ax = plt.subplot(111)
 plt.plot(date,memfree,marker='+',linestyle='-',color='c',label='Free Memory SIAKAD')
 plt.legend(loc=10)
 plt.ylabel('Free Memory (MByte) ') #Label pada sumbu Y
 plt.xlabel('Waktu') #Label pada sumbu X
 plt.grid()
 plt.title(' Free Memory SIAKAD tgl : [%s] (Credit to Python+MySQL)'%(now)) #Judul Grafik
 plt.savefig('/var/xxx/yyy/SIAKAD/siakadmemfree.png', dpi=100) #Simpan file dengan judul xxx.png
 plt.close()
def plot7():
 fig = matplotlib.pyplot.gcf()
 fig.set_size_inches(18.5,10.5)
 ax = plt.subplot(111)
 plt.plot(date,memactive,marker='+',linestyle='-',color='c',label='Memory Active (Mbyte)')
 plt.legend(loc=10)
 plt.ylabel('Memory Active (Mbyte) ') #Label pada sumbu Y
 plt.xlabel('Waktu') #Label pada sumbu X
 plt.grid()
 plt.title(' Memory Active tgl : [%s] (Credit to Python+MySQL)'%(now)) #Judul Grafik
 plt.savefig('/var/xxx/yyy/SIAKAD/siakadmemactive.png', dpi=100) #Simpan file dengan judul xxx.png
 plt.close()


def plot8():
 fig = matplotlib.pyplot.gcf()
 fig.set_size_inches(18.5,10.5)
 ax = plt.subplot(111)
 plt.plot(date,meminactive,marker='+',linestyle='-',color='c',label='Memory Inactive (MByte)')
 plt.legend(loc=10)
 plt.ylabel('Memory Inactive (MByte) ') #Label pada sumbu Y
 plt.xlabel('Waktu') #Label pada sumbu X
 plt.grid()
 plt.title(' Memory Inactive tgl : [%s] (Credit to Python+MySQL)'%(now)) #Judul Grafik
 plt.savefig('/var/xxx/yyy/SIAKAD/siakadmeminactive.png', dpi=100) #Simpan file dengan judul xxx.png
 plt.close()

def plot9():
 fig = matplotlib.pyplot.gcf()
 fig.set_size_inches(18.5,10.5)
 ax = plt.subplot(111)
 plt.plot(date,membuffers,marker='+',linestyle='-',color='c',label='Memory Buffer (MByte)')
 plt.legend(loc=10)
 plt.ylabel('Memory Buffer (MByte) ') #Label pada sumbu Y
 plt.xlabel('Waktu') #Label pada sumbu X
 plt.grid()
 plt.title(' Memory Buffer tgl : [%s] (Credit to Python+MySQL)'%(now)) #Judul Grafik
 plt.savefig('/var/xxx/yyy/SIAKAD/siakadmembuffers.png', dpi=100) #Simpan file dengan judul xxx.png
 plt.close()


def plot10():
 fig = matplotlib.pyplot.gcf()
 fig.set_size_inches(18.5,10.5)
 ax = plt.subplot(111)
 plt.plot(date,memcache,marker='+',linestyle='-',color='c',label='Memory Cache (Mbyte)')
 plt.legend(loc=10)
 plt.ylabel('Memory Cache (Mbyte) ') #Label pada sumbu Y
 plt.xlabel('Waktu') #Label pada sumbu X
 plt.grid()
 plt.title(' Memory Cache tgl : [%s] (Credit to Python+MySQL)'%(now)) #Judul Grafik
 plt.savefig('/var/xxx/yyy/SIAKAD/siakadmemcache.png', dpi=100) #Simpan file dengan judul xxx.png
 plt.close()

def plot11():
 fig = matplotlib.pyplot.gcf()
 fig.set_size_inches(18.5,10.5)
 ax = plt.subplot(111)
 plt.plot(date,memtot,marker='+',linestyle='-',color='c',label='Total Memory (MByte) ')
 plt.legend(loc=10)
 plt.ylabel('Memory Usage (MByte) ') #Label pada sumbu Y
 plt.xlabel('Waktu') #Label pada sumbu X
 plt.grid()
 plt.title(' Total Memory SIAKAD tgl : [%s] (Credit to Python+MySQL)'%(now)) #Judul Grafik
 plt.savefig('/var/xxx/yyy/SIAKAD/siakadmemory.png', dpi=100) #Simpan file dengan judul xxx.png
 plt.close()

plot1()
plot2()
plot3()
plot4()
plot5()
plot6()
plot7()
plot8()
plot9()
plot10()
plot11()

Kira kira hasil akhir plotting grafik load memorynya seperti berikut.

siakad

Thanks to Google, Python and Friends.

 

Keutamaan menjalin silaturahmi


SILATURAHMI… satu kata yang sering kita dengar, punya makna mendalam dan mendatangkan faedah luar biasa dalam hidup dan kehidupan kita. Memang pada dasarnya  manusia adalah mahluk sosial, kita niscaya tidak dapat hidup sendiri dan akan membutuhkan keberadaan orang/mahluk lainnya. Pada tautan berikut http://ustadzkholid.com/keutamaan-silaturahmi/ disampaikan manfaat dalam bersilaturahmi, salah satunya bahwa Alloh akan memberikan kelapangan rezeki bagi siapa saja yang menjalin tali silaturahmi kepada sesama.

Terkai???????????????????????????????t bahasan silaturahmi ini, beberapa hari lalu saya dikontak oleh Pak Hasan, teman lama yang bekerja di perusahaan Charoen Pokphan Group, teman ini dulunya adalah rekan kerja satu tim di bawah Departemen IT CP Group. Kami saling bertanya kabar dan kondisi masing-masing, Alhamdulillah meskipun sudah sejak tahun 2005 lalu tidak bersua, karena silaturahmi kala menjadi tim berjalan baik kami pun tidak canggung dalam berkomunikasi.  rupanya beliau sudah berdomisili di Bandar Lampung. Di akhir percakapan, beliau menyampaikan permintaan agar saya berkenan membantu dalam mengupgrade network untuk pabrik FishMill yang baru selesai dibangun, pabrik baru tersebut berlokasi di daerah Sutami Tanjung Bintang. Saya diminta untuk membuat estimasi dan part apa saja yang dibutuhkan dalam upgrading ini.

Saya menyanggupi dan berlekas mempersiapkan estimasi kebutuhan untuk kegiatan ini. Pertama kali kami  mengunjungi lokasi pabrik baru agar mendapatkan gambaran jelas requirement specification, rupanya posisi pabrik berada di depan Central Pertiwi Bahari-CPB (tempat dulu saya ngetem) dan sudah beroperasi hampir 1 tahun dalam memproduksi pakan ikan.

Setelah survey pertama dilakukan dan didapat gambaran jelas, info ini kemudian kami sampaikan ke Pak Hasan berikut estimasi anggaran yang dibutuhkan.  Alhamdulillah pengajuan tersebut disetujui dan bisa langsung dikerjakan. O iya lingkup pengerjaannya adalah upgrading dari Link ADSL existing menggunakan Link Fiber Optic, dari penuturan pengelola fishmill performance Link ADSL ini berjalan kurang maksimal makanya ada rekomendasi untuk di upgrade.

pabrik

Setelah semua material lengkap dan fase uji fungsi berjalan baik, tim mengunjungi area pabrik dan segera melakukan proses upgrading ini. Sementara tim bekerja saya, Pak Hasan dan Pak Imbar ngobrol santai di ruangan sambil bercerita dan bernostalgia kisah masa lalu. Tak lupa pula kami mendiskusikan topik hangat yang saat ini tengah banyak diperbincangkan yaitu hasil quick qount 😀  , serulah pokoknya diskusi kemarin.

Tanpa terasa hari sudah beranjak sore, pekerjaan upgrading network ini pun sudah selesai, pengujian dilakukan beberapa kali untuk memastikan kehandalan network yang baru ini, setelah benar benar OK sayapun pamit karena ada janji sore bertemu di Lab untuk membahasa progress project MP3EI yang melibatkan beberapa rekan Dosen dan Mahasiswa.

Inti dari posting ini kurang lebihnya, tali silaturahmi yang membuka pintu pintu rezeki, semoga silaturahmi tetap terjaga, amin.

Akreditasi Program Studi Teknik Elektro Unila


???????????????????????????????

Akreditasi Program Studi Teknik Elektro Universitas Lampung akan habis masa berlakunya pada tahun 2015, dalam rangka persiapan reakreditasi Prodi telah dibentuk tim kecil yang bertugas mempersiapkan data pendukung, tim dibagi dalam 7 kelompok sesuai dengan standar penilaian BAN-PT. Pada Tanggal 8 Juli kemarin Ketua Jurusan mengundang Ketua Tim Akreditasi beserta tim untuk menyampaikan progress capaian tim kerja. Selain Panitia Kerja (PanJa) Jurusan, Kajur turut mengundang pimpinan di level Fakultas dengan harapan mendapatkan dukungan penuh pimpinan selama proses akreditasi ini berlangsung, Alhamdulillah Pak Dekan, PD 1, PD2, serta Kabag TU Fakultas berkesempatan hadir dalam pemaparan PanJa. Banyak masukan dari Jurusan terkait upaya peningkatan kualitas layanan akademik, Semoga beroleh hasil yang maksimal.

Categories: Blogosphere

Ritual rutin sebelum memulai puasa 1435 H


ombayPada tanggal 28 Juni 2014  lalu adalah H-1 Ramadhan 1435 H , seperti biasa agenda sebelum puasa kami sekeluarga berkunjung ke Pagelaran Pringsewu untuk bersilaturahmi dengan Ombay Masnun tercinta, o iya bagi yang belum tahu, Ombay merupakan Nomenklatur bahasa Kumoring untuk memanggil Nenek :-).Ombay dari pihak Papa satu satunya Tetua yang masih ada di keluarga kami, Akas sudah terlebih dahulu dipanggil sang Khalik, sedangkan Ombay dan Akas dari sebelah Mama juga telah lebih dahulu meninggalkan kami.

Alhamdulillah di usia  sepuh Ombay yang telah menginjak umur lebih dari 80 tahun, kondisi beliau terlihat cukup sehat, masih dikaruniai nikmat pendengaran dan penglihatan yang cukup baik, dibuktikan dengan ‘teriakan’  khas saya memanggil dari luar rumah masih bisa dikenali baik oleh  Ombay 😀 , Ombay masih dapat mengidentifikasi nama dan paras seluruh cucung-nya , bahkan hingga ke Cicit beliau juga mampu mengenali dengan baik.

Bila bertemu Ombay saya biasanya memberanikan diri untuk berbicara dalam bahasa Kumoring, FYI hingga saat ini level penguasaan bahasa daerah saya masih di tingkatan beginner hehe, jadi sering selip ketika  ngomong Kumoring tercampur dengan bahasa Indonesa, tapi it’s Ok lah kalau ada kumpulan keluarga bisa ikutan nimbrung.

Setelah bercengkrama dan memastikan bahwa Ombay dalam kondisi sehat, kami sekeluarga bertolak menuju ke ladang peninggalan Akas Prabu untuk menyusul Papa dan Om yang sudah terlebih dahulu  berada di balong ikan. Hari itu merupakan jadwal penyortiran ikan Mas pertama kali untuk siklus panen triwulan kedua tahun ini. Biasanya dalam satu periode panen akan dilakukan 3 kali proses sortir.

???????????????????????????????Di tengah proses sortir kami dikejutkan oleh suara gaduh berasal dari  depan Gubug, rupanya pegawai yang sedang kerja membawa seekor lele berukuran jumbo yang terperangkap jaring pada saat proses sortir berlangsung, ukuran lele ini tergolong besar  dengan lingkar badan kurang lebih seukuran betis orang dewasa. Bagi petani ikan Mas, ikan lele, gabus dan biawak merupakan musuh bebuyutan utama dan sangat mengganggu karena kesemuanya itu adalah hewan predator pemangsa ikan mas di kolam, apabila teridentifikasi adanya hama ini maka harus cepat disingkirkan.

Tanpa berfikir panjang kami pun bersegera mencari peralatan ‘tempur’ untuk memproses lele yang sudah tertangkap basah tadi, lele jumbo yang gagah berani dan berdiameter sama dengan sandal ukuran 43 saya tadi, akhirnya bertransformasi wujud menjadi ukuran kecil dalam bentuk daging filled hehe…

Nah karena keluarga banyak request untuk memanggang ikan mas dan nila maka kita tinggalkan lele jumbo filled tadi , saya kemudian meminta pegawai yang kerja untuk menyiapkan ikan mas dan nila segar untuk dipanggang, sembari ikan mas dan nila segar sedang dalam proses pembersihan, saya dan beberapa orang lainnya mengumpulkan sabut kelapa kering untuk dijadikan  bara memanggang ikan.

Karena amunisinya bukan dari arang maka produksi asap tebal pun dimulai 🙂 , mata pedes, idung panas, keringet ngucur, wiyy mantap lah pokoknya , banyak keluarga yang komentar  “Eh.. ini Ikan bakar ape Ikan Asep tuh ?? “  saya timpali “tenaaangg.. yang penting hasil akhir… terima mateng sazalah… nyampur asep plus keringet dikit gak papa lah 😀  ” ,

Prosesi pemanggangan(pengasapan) ikan pun selesai,  selanjutnya menginjak agenda utama yang paling ditunggu tunggu yaitu makan bersama keluarga,  jam tangan menunjukkan sudah pukul 12.00 WIB lebih, jam biologis dari perutpun sudah memberikan alarm bahwa waktu makan sudah tiba.

Kumpul bersama diatas gubug di pinggir kolam dengan  beralas tikar, bermenu ikan bakar/asep, pindang, lalapan dan sambal terasi, tanpa menunggu lama kami sekeluarga bersama para pegawai yg kerja  menyantap hidangan istimewa tadi, sesekali saya menyeka keringat yang deras mengalir dan meneguk air putih pertanda bahwa sedang berselera 🙂 . Sungguh lezat hidangan makan siang saat itu,  dengan ini saya nyatakan bahwa Rumah Kayu, Gubuk Mas, Pindang MakWar lewaaaaatt….. 😀 😀 😀 ,

Hari beranjak sore, terlihat sudah beberapa calon pembeli yang mendatangi kolam ikan, ada dua mobil pickup dan sepeda motor antri untuk membeli ikan mas segar, info dari supir bahwa  ikan tersebut akan dipasarkan  ke Jambi dan daerah Bandar Lampung. Karena sudah sore kami pun beranjak pulang,  Alhamdulillah masih merasakan nikmatnya kebersamaan.

Fabiaayiaalaairobbikuma tukadzzibaan. “Dan Nikmat Tuhanmu yang manakah yang engkau dustakan ??”

Categories: Blogosphere