Menghitung KPK (Kelipatan Persekutuan Terkecil)

Meteri Kelipatan Persekutuan Terkecil (KPK) kita dapatkan di Sekolah Dasar kelas berapa ya? Lupa, mungkin sekitar kelas 3 ya?

Soal-soal tipe KPK dalam bentuk cerita biasanya seperti berikut ini contohnya:

Dua orang pekerja A dan B masing-masing mendapatkan hari libur setiap hari ke-4 dan ke-6. Hari keberapa mereka akan mendapatkan kesempatan libur bersama?

Namun ternyata persoalan KPK juga saya dapatkan ketika saya harus membuat sebuah program kecil untuk menyelesaikan persamaan matematika pada penjumlahan 2 suku pecahan.

persamaan 1:

 1     2    ?    x
 -- + -- = -- = --
 4     6    ?    y

Penyebut (denominator) 4 dan 6 memiliki KPK 12. Masih ingat dari mana? Ya, begini caranya:

Kelipatan 4: 4, 8, (12), 16, 20, (24), 28, 32, (36), ..
Kelipatan 6: 6, (12), 18, (24), 30, (36), 42, ..

dari 2 baris di atas, ditemukan bilangan 12, 24, 36, dst yang muncul di dua tempat. Yang pertama kali muncul tentu yang terkecil, yaitu 12. Sehingga KPK(4, 6) adalah 12.

Persamaan 1 dapat ditulis kembali dengan menyamakan penyebutnya menjadi 12, sehingga:

1     2    3    2
-- + -- = -- + --
4     6   12   12

   5
= --
  12

Program KPK dengan Python

Berikut program python cara mnentukan KPK sbb:

def kpk(a, b):
	'''Mendapatkan KPK Kelipatan Persekutuan Terkecil

	Arguments:
	a	: integer
	b	: integer

	Return:
	KPK dari a dan b
	'''

	u = a
	v = b

	while True:
		if u == v:
			return u
			break
		if u < v:
			u += a
		else:
			v += b


if __name__ == '__main__':

	print (kpk.__doc__)

	a = int(input("Input a = "))
	b = int(input("Input b = "))

	print("KPK({}, {}) = {}".format(a, b, kpk(a, b)))

Python: Akhir Explorasi dan Exploitasi Berbagai Bahasa Pemrograman?

Bahasa pemrograman selalu berkembang seiring waktu. Kepopulerannya juga dapat berubah, meningkat, menurun atau bahkan dilupakan.

Bahasa pemrograman yang pertama kali saya pelajari adalah Basic (Basica, GW-Basic dan Turbo Basic). Berkat menguasai bahasa tersebut, saya ditunjuk menjadi ketua tim pengolahan data kuesioner hasil KKN (Kuliah Kerja Nyata). Mulai dari proses entri data, validasi, hingga menjadi statistik yang diperlukan untuk mengambil kesimpulan.

Sesudah masuk bekerja, Basic masih saya pakai selama 1 tahun di kantor. Setelah itu beralih ke dBase3 dan FoxPro selama kurang lebih 3 tahun karena kemudahannya mengolah database.

Namun setelah itu saya beralih ke yang lain lagi, yaitu Clarion yang menerapkan konsep RAD (Rapid Application Development), karenanya pengembangan aplikasi database menjadi sangat mudah dan cepat karena. Tidak membutuhkan waktu yang lama untuk membangun sebuah prototipe dengan bantuan Clarion. Aplikasi pertama yang saya bangun adalah Skoring Akreditasi Program Studi Strata 1 yang diselenggarakan oleh BAN-PT.

Sekitar 5 tahun lebih saya bertahan pada bahasa pemrograman ini, mulai versi 2.1, 3, hingga versi 5; sampai akhirnya saya mulai mempelajari Webbased application programming.

20-dos-fea0247a1c0eedd755629350101b64c5-clarion-professional-developer-2-1-splash

Aplikasi bebasis web yang pertama saya pelajari adalah ColdFushion. Namun hanya sebentar, cukup sebagai batu loncatan berkenalan dengan sesuatu yang benar-benar baru, yaitu: Linux.

Saya ingat pertama kali mulai menyukai Linux, cuma karena membaca artikel ini: Coffee-Howto yaitu bagaimana membuat kopi secara remot.

Semenjak mengenal Linux, saya mulai belajar PHP untuk pengembangan aplikasi berbasis web, dan betah banget sampai sekarang. Beberapa bahasa pemrograman juga diexplore satu-satu. Karena tidak semua client memerlukan webbased application. Kadang saya harus kembali ke Clarion atau Foxpro karena belum juga menguasai Java.

Sampai akhirya tahun ini saya mengenal Python dan mulai jatuh cinta. Belum pernah terasa seperti ini menyukai suatu bahasa pemrograman. Kita lihat saja, apakah “kejatuhcintaan” pada bahasa ini membuat saya sanggup membangun aplikasi yg dibutuhkan oleh client, baik aplikasi desktop, web, game, maupun scientific project.

python_logo_and_wordmark-svg

Semoga bermanfaat..

Mengganti Batere UPS Rack Server

Sudah beberapa bulan terakhir server di kantor tidak mendapat support UPS dengan memadai. Bila listrik PLN mati, maka serverpun langsung drop. Meminta pergantian dari Kantor Pusat rasanya hampir tidak mungkin bisa dipenuhi, bila pun bisa, waktu yang dibutuhkan pasti lama.

Namun kejadian Minggu kemarin, UPS menjerit terus tidak berhenti, bahkan sama sekali tidak dapat meneruskan arus listrik dari PLN. Akibatnya sangat kritis, server tidak dapat dihidupkan. Padahal dalam waktu dekat kami mengenghadapi pekerjaan yang membutuhkan layanan dan data yang tersedia di server.

Dengan modal sedikit nekad dan teori / asumsi bahwa:

  • Di dalam UPS pasti ada beberapa battere / accu / aki kering
  • Aki kering tsb sudah tidak dapat di-charge
  • Jika aki diganti dengan yang spec yang sama, seharusnya UPS akan berjalan normal kembali

Nah, berdasarkan asumsi tersebut, kami terpaksa berhati-hati membongkar UPS. Langkah demi langkah kami catat. Mur dan baud disimpan di tempat yang aman. Slot kabel dicatat warnyanya, terhubung dari mana ke mana.

Untungnya ternyata asumsi pertama benar. Di dalam UPS terdapat 3 buah aki kering yang dirangkai secara seri, masing-masing berukuran 12V 7.2 Ah.

screenshot-at-2017-09-02-092624

Segera kami berburu aki kering ke pertokoan yang banyak menjual komputer dan aksesoris. Sayangnya, di kota Cirebon tidak ada satupun yang menyediakan jenis aki tersebut. Bahkan sempat mampir ke toko yang khusus menjual aki kendaraan, dan mendapat jawaban “tidak ada aki seperti itu disini, harus pesan ke Jakarta.”

Akhirnya kami sepakat untuk berbelanja online saja, namun memilih yang sistem pembayarannya bergaransi dan aman. Dari beberapa toko yang ditemukan, mereka memasang harga yang cukup bervariasi. Kami memilih yang murah dan reputasinya bagus. Alhamdulillah, hanya berselang 1 hari, barang sudah diterima.

Setelah dirakit sesuai catatan sambungan kabel-kabel sebelumnya, aki baru yang sudah dimasukkan ke UPS siap diuji coba. Hasilnya, Alhamdulillah bekerja sesuai dengan yang diharapkan.

Menginstall Aplikasi Jadul Berbasis DOS di Ubuntu

Saya mendapat permintaan dari istri untuk menginstall sebuah aplikasi hasil meeting / pelatihan di Bandung beberapa waktu lalu, karena sang instruktur tidak dapat menginstallkan aplikasi tersebut ke netbook. Ya, dimaklumi saja, netbook tersebut saya pasangi OS Ubuntu Mate 16.04 LTS, menggantikan Win7 karena semakin lelet penuh dengan antivirus. Meskipun levelnya instruktur, kan boleh saja tidak mengenal Linux.

Tadinya saya fikir akan menginstall aplikasi berbasis Web seperti yang sudah-sudah. Namun setelah diperiksa ternyata aplikasi jadul berbasis DOS dengan nama EHRA (Enviromental Health Risks Assesment), merupakan aplikasi untuk mengolah hasil survey dengan perangkat lunak EpiInfo.

Hal di atas saya ketahui saat flashdisk dibuka, dan di dalamnya tersedia installer untuk DosBox. Saya faham betul apa itu DosBox, karena saya juga memakainya untuk bermain game versi DOS.

Ada dua emulator DOS yang saya kenal, yaitu DosBox dan Dosemu. Untuk menjalankan game-game lawas DOS, saya lebih menyukai DosBox, karena performanya lebih baik. Namun saya tidak suka karena ukuran Windownya yang bergantung pada resolusi aplikasi. Kalau aplikasi text, mentok di 800×600 pixel. Saya terpaksa pakai zoom untuk membaca textnya yang kecil-kecil itu.

Sementara Dosemu, meski beberapa game lawas tidak bisa berjalan dengan baik, ukuran windownya bisa dimaksimalkan. Nah, akhirnya pilihan jatuh ke dosemu.

Menginstall Dosemu

Untuk menginstall dosemu di ubuntu, cukup ketikkan perintah berikut pada terminalnya.

sudo apt-get install dosemu

Dengan perintah tersebut, sistem akan menginstall Dosemu dan FreeDos sebagai operating systemnya. Jika telah selesai, launcher “Dos Emulator” akan tersedia di menu Ubuntu.

Memasang Aplikasi DOS

Sebelum memasang aplikasi DOS, jalankan Dos Emulator untuk pertama kali (jika belum pernah), agar supaya tercipta struktur folder yang dibutuhkan.

Struktur folder Dosemu adalah sebuah hidden folder di home user dengan nama .dosemu (titik dosemu). Ingat semua nama hidden folder di Linux akan dimulai dengan karakter titik. Untuk menampilkan pada File Manager, cukup tekan Ctrl+H bersamaan. Kombinasi tombol yang sama juga berlaku untuk kembali menyebunyikan hidden file tersebut.

Berikut ini struktur folder .dosemu

Struktur Folder Dosemu
Struktur Folder Dosemu

Untuk memasang aplikasi EHRA, cukup dicopykan folder EHRA di flashdisk ke /home/user/.dosemu/drive_c/

Membuat ShortCut di Desktop

Agar memudahkan istri menjalankan aplikasi EHRA, perlu dibuatkan shortcut di Desktop, sehingga tinggal diklik saja, lalu pilih Run

Untuk itu perlu dibuat script berupa text file dengan nama EHRA.sh yang diletakkan di folder /home/user/Desktop/. Isi file tersebut sbb:

#!/bin/bash

dosemu /home/user/.dosemu/drive_c/EHRA/EHRA.EXE

Setelah itu atur file tersebut agar executable dengan memberi perintah

chmod 755 Ehra.sh

Atau dengan bantuan GUI File Manager, klik kanan nama file tersebut pada File Manager, klik Properties. Maka akan tampil dialog seperti berikut ini:

dialog-make-execute

Kemudian beri centang checkbox “Allow executing file as program”. Lalu Close

Akhirnya, aplikasi EHRA dapat dijalankan dengan hanya mengklik icon di Desktop seperti tampilan sbb:

tampilan-ehra

Demikian semoga bermanfaat