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.