1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | # 6 oct 2016 import json import requests # 3rd party package, use pip install requests jika nak install dalam python d = {'ktn01': ('Kota Bahru', 'Bachok', 'Pasir Puteh', 'Tumpat', 'Pasir Mas', 'Tanah Merah', 'Machang', 'Kuala Krai', 'Mukim Chiku', 'Chiku'), 'ktn03': ('Jeli', 'Gua Musang', 'Mukim Galas', 'Galas', 'Bertam'), 'phg01': 'Pulau Tioman', 'phg02': ('Kuantan','Pekan', 'Rompin', 'Muadzam Shah'), 'phg03': ('Maran', 'Chenor', 'Temerloh', 'Bera', 'Jerantut'), 'phg04': ('Bentong', 'Raub', 'Kuala Lipis'), 'phg05': ('Genting Sempah', 'Janda Baik', 'Bukit Tinggi'), 'phg06': ('Bukit Fraser', 'Genting Highlands', 'Cameron Highlands'), 'prk01': ('Tapah', 'Slim River', 'Tanjung Malim'), 'prk02': ('Ipoh', 'Batu Gajah', 'Kampar', 'Sungai Siput', 'Kuala Kangsar'), 'prk03': ('Pengkalan Hulu', 'Grid', 'Lenggong'), 'prk04': ('Temenggung', 'Belum'), 'prk05': ('Teluk Intan', 'Bagan Datoh', 'Kampung Gajah', 'Sri Iskandar', 'Beruas', 'Parit', 'Lumut', 'Setiawan', 'Pulau Pangkor'), 'prk06': ('Selama' , 'Taiping' , 'Bagan Serai', 'Parit Buntar'), 'prk07': 'Bukit Larut', 'trg01': ('Kuala Terengganu', 'Marang'), 'trg02': ('Besut', 'Setiu'), 'trg03': 'Hulu Terengganu', 'trg04': ('Kemaman', 'Dungun'), 'jhr01': ('Pulau Aur', 'Pemanggil'), 'jhr02': ('Kota Tinggi', 'Mersing', 'Johor Bahru'), 'jhr03': ('Kluang', 'Pontian'), 'jhr04': ('Batu Pahat', 'Muar', 'Segamat', 'Gemas'), 'mlk01': ('Bandar Melaka', 'Melaka', 'Alor Gajah', 'Jasin', 'Masjid Tanah', 'Merlimau', 'Nyalas'), 'ngs01': ('Jempol', 'Tampin'), 'ngs02': ('Port Dickson', 'Seremban', 'Kuala Pilah', 'Jelebu', 'Rembau'), 'pls01': ('Kangar', 'Perlis', 'Padang Besar', 'Arau'), 'png01': ('Pulau Pinang', 'Penang'), 'kdh01': ('Kota Setar', 'Kubang Pasu', 'Pokok Sena'), 'kdh02': ('Pendang', 'Kuala Muda', 'Yan'), 'kdh03': ('Padang Terap', 'Sik'), 'kdh04': 'Baling', 'kdh05': ('Kulim', 'Bandar Bahru'), 'kdh06': 'Langkawi', 'kdh07': 'Gunung Jerai', 'sgr01': ('Hulu Langat', 'Sepang', 'Petaling', 'Petaling Jaya', 'Shah Alam', 'Rawang', 'Hulu Selangor', 'Gombak'), 'sgr02': ('Sabak Bernam', 'Kuala Selangor', 'Klang', 'Kuala Langat'), 'sgr03': 'Kuala Lumpur', 'sgr04': 'Putrajaya', 'wly02': 'Labuan' } while True: s = input('Sila beri nama tempat tinggal anda:\n') tempoh = input('Anda mahu waktu solat untuk hari ini atau bulan ini{\'h\' untuk hari ini,' 'atau \'b\' untuk bulan ini}:\n') b = s.title() for k, v in d.items(): for i in v: if b == i: key = k if b == v: key = k if tempoh == 'b' or tempoh == "'b'": bul = 'this_month' alamat = requests.get('http://api.kayrules.com/solatjakim/times/{}.json?zone={}&format=12-hour'.format(bul, key)) solat = ('date', 'imsak', 'subuh', 'syuruk', 'zohor', 'asar', 'maghrib', 'isyak') data = alamat.json() # kita ambil maklumat dari web dan jadikan ia dict, method json digunakan sbb dict complex # jika simple just guna alamat.text == jadi dict juga a = json.loads(json.dumps(data)) # kaedah ini sesuai jika dict nya agak complex, jika simple buang meth dumps for w in a['prayer_times']: # kita loop dlm val for key in a['prayer_times'] jadi w which is a dict type for asdf in solat: #kita loop tuple solat print(asdf, '==>', w[asdf]) # tetapkan bahawa kita just nak key from dict w same with tuple solat elif tempoh == 'h' or tempoh == "'h'": bul = 'today' alamat = requests.get('http://api.kayrules.com/solatjakim/times/{}.json?zone={}&format=12-hour'.format(bul, key)) solat = ('date', 'imsak', 'subuh', 'syuruk', 'zohor', 'asar', 'maghrib', 'isyak') data = alamat.text a = json.loads(data) for q in solat: print(q, '==>', a['prayer_times'][q]) order = input('Press \'q\' for exit or \'c\' to restart:\n') if order == 'c' or order == "'c'": continue elif order == 'q' or order == "'q'": quit() |
qifa.py
Jumaat, 14 Oktober 2016
waktu-solat
Isnin, 26 September 2016
Bahasa Komputer
Ok, katakanlah anda sedang membuka facebook di smartphone anda, dan anda menghantar mesej ke kawan anda, semua itu sebenarnya dilakukan oleh komputer, yang menerima arahan daripada anda(input) dan melaksanakan arahan itu. Wait?!! Phone saya awak panggil komputer? Of course my friend, malah dunia hari ini dah dikawal oleh komputer.<But not by Terminator, God Forbid, or maybe not yet> Bila anda menggunakan phone anda ia membaca maklumat dan memproses maklumat tersebut yang wujud dalam bentuk binary 101010101010101010101010101010.So katakanlah anda tekan butang send dalam facebook anda, phone anda akan tafsirkan mesej itu kepada nombor binari, 101010101010, dan proses ia dan hantarnya ke kawan anda. Tapi saya tak nampak pun ia ditulis dalam nombor. Benar. Anda takkan dapat baca dalam nombor binary tu sebaba hanya komputer sahaja yang bacanya. Sebelum komputer bagi kat awak mesej tu, ia akan tafsir balik kepada huruf yang anda boleh baca. Hi, lama tak jumpa.
Kenapa komputer baca dalam binary, 10101010?
Pertama, komputer bukan benda hidup, so ia bukan macam manusia dimana kita boleh faham sesuatu melalui perkataan. contoh huruf dibawah ini kita boleh faham kan, tapi komputer tak;
Hello World
So nak bagi mudah, manusia akan tetapkan beberapa siri nombor daripada 1 dan 0 yang kita panggil bit kepada satu byte.
1 dan 0 kita panggil bit.
tapi 8 nombor 1 dan 0 seperti;
10000001
11000011
11110000
11111111
dan lain-lain, tu kita panggil byte. Kat atas ni saya bagi 4 contoh byte, so kita panggil ia 4 byte. Dan daripada sinilah istilah saiz dalam komputer muncul, megabytes(mb), gigabytes(Gb), terabytes(Tb), kilobytes(kb).
Contoh dalam 2 kilobytes kita ada 2 kilo bytes, kilo tu sama dengan 1000, so 2 kilo bytes sama dengan 2 000 bytes. So anggap 4 baris bytes tadi ditambah dengan 1996 baris bytes lagi.
Nampak macam banyakkan, tapi sebenarnya ia agak sikit, saya bagi contoh;
bagi perkataan Hello World diatas, nak bagi komputer boleh bacanya, maka kita akan letakkan 1 byte nombor 1 dan 0 tadi ke satu huruf.
H - 01001000
e - 01100101
l - 01101100
l - 01101100
o - 01101111
<SPACE> - 00100000
W - 01010111
o - 01101111
r - 01110010
l - 01101100
d - 01100100
Ya, space pun dia kira. So, untuk setiap huruf ada 8 bits number 1 dan 0. Bila, kita baca Hello World, komputer baca;
01001000 01100101 01101100 01101100 01101111 00100000 01010111 01101111 01110010 01101100 01100100
So cuba teka berasa saiz dalam bytes bagi perkataan Hello World tu?
Mungkin anda rasa pening. Jangan give up lagi, serioussly ia amat senang, lagipun anda dah tahu serba sedikit mengenai bahasa komputer, dan ini baru glimpse of it, kita masih belum teroka jauh lagi kedalam jiwa komputer. Tapi its enough already, akhirnya anda dah tahu serba sedikit tentang asas komputer yang hakikatnya dah jadi tulang belakang kehidupan manusia. Tak percaya?
Fine, try jangan guna phone dalam sehari, or just guna phone untuk call sahaja, no internet, and then we will see.
Actually, tu bukan argument yang bagus untuk sokong fakta komputer dah jadi tunjang kehidupan manusia. So, lets get real.
First, tunjang ekonomi. Pernah dengar atm, mestilah, ok, bagi yang tak tahu tu tempat mak ayah kita dan orang lain cucuk duit, sebenarnya ia bukan cucuk duit pun, awak just isi card, bagi no pin pastu anda akan dapat duit. Tapi anda kena adalah sedikit wang dalm bank.
So macam mana atam berfungsi, (versi simple);
Anda cucuk card anda dalam atm, atm akan baca card anda dan proses maklumat bank anda, dan hantar ke pusat, kat situ, komputer akan proses dan kata Ahmad Bin Ali sedang akses atm, check account dia, ada RM 1000, so ahmad nak RM 50, so dia taip 50, dan atm hantar maklumat ke pusat, dan pusat pun akses maklumat akaun ahmad, pastu pusat akan potong 50 daripada akaun ahmad dan atm akan bagi not RM 50 ke ahmad.
Semua tu berlaku tanpa ada manusia yang uruskan, manusia just pastikan komputer berfungsi dengan baik supaya tak berlaku kacau bilau dalam sistem. Sebab tu anda masih boleh keluarkan duit pada waktu 4 dan 5 pagi, walaupun mana ada orang kerja kat bank. Kecuali pak guard, tu pun kalau ada, kalau takde pun boleh juga keluarkan, dinamit.
Well itu baru satu contoh dalam kepentingan komputer dalam kehidupan manusia, actually, saya tak mahu cakap banyak pasal tu sebab tajuk utama kita bukan kepentingan komputer tapi just introduction to computer.
So, itu saja daripada saya, bertemu lagi kita insya Allah selepas ini di qifa.py.
p\s, penulis tak bertanggungjawab terhadap penyalahgunaan idea dinamit tadi, its just a joke folks, so laugh.
jawapan ;
11 bytes
qifa.py
Sabtu, 24 September 2016
Python 3.0
Masalah shortcut dalam pendrive anda,
Atau,
Anda buka pendrive anda atau hard disk, dan tiada fail muncul,
Tapi anda periksa dekat properties dia tulis ada je isi dalam pendrive anda.
Don't worry, try use this program.
Designed with python, and PyInstaller.
BEHOLD!!!!
Atau kalau malas nak extract, download yang biasa ni, disarankan kalau tak tahu nak extract, download yang ni, simple.
anti_shortcut.exe
Dan ini untuk panduan penggunaan.
PANDUAN
Disclaimer,
PROGRAM INI TELAH DIUJI DALAM :
1) WINDOWS 8.1
SO PENULIS TAK BERTANGGUNGJAWAB KEATAS SEGALA KEROSAKAN YANG BERLAKU ATAS SEBAB KESILAPAN PENGGUNA.
Masalah shortcut dalam pendrive anda,
Atau,
Anda buka pendrive anda atau hard disk, dan tiada fail muncul,
Tapi anda periksa dekat properties dia tulis ada je isi dalam pendrive anda.
Don't worry, try use this program.
Designed with python, and PyInstaller.
BEHOLD!!!!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | from os import system # bertujuan untuk import from time import sleep from progressbar import ProgressBar var = True while var: print('''PROGRAM INI BERTUJUAN UNTUK MENYELESAIKAN MASALAH SHORTCUT PENDRIVE, SILA BACA PANDUAN''') print('') disk = input('''Sila taip huruf pendrive anda atau disk yang anda nak rawat dan tekan ENTER, atau taip quit dan ENTER untuk keluar:\n''') global command if disk == 'quit' or disk == "'quit'": quit() else: bar = ProgressBar() for i in bar(range(100)): sleep(0.03) command = 'attrib -h -r -s /s /d {}:\*.*'.format(disk) while True: if system(command) == 0: print('VIRUS BERJAYA DIHAPUSKAN') print('') print('') break else: print('PEMBERSIHAN GAGAL') |
Atau dalam bahasa kurang geek nya, download je yang ni.
Dan guna macam biasa. Disarankan baca PANDUAN yang telah disediakan.
Behold.
anti_shortcut.zip
Oh ye, dia dalam zip, so anda kena extract dulu. Kalau tiada program untuk extract, download &-Zip disini, 7-Zip. Ia percuma.Atau kalau malas nak extract, download yang biasa ni, disarankan kalau tak tahu nak extract, download yang ni, simple.
anti_shortcut.exe
Dan ini untuk panduan penggunaan.
PANDUAN
Disclaimer,
PROGRAM INI TELAH DIUJI DALAM :
1) WINDOWS 8.1
SO PENULIS TAK BERTANGGUNGJAWAB KEATAS SEGALA KEROSAKAN YANG BERLAKU ATAS SEBAB KESILAPAN PENGGUNA.
Langgan:
Catatan (Atom)