Programmer Forum
Home > LOEKELOE > COMPUTER STUFF > Programmer Forum > Mari Bermain Pemrograman Bersama Python
Total Views: 28590 Share : Facebook ShareFacebook Twitter ShareTwitter Google+ ShareGoogle+
Page 38 of 38 | ‹ First  < 33 34 35 36 37 38

earthwind - 28/08/2012 04:04 PM
#741

Quote:
Original Posted By black.oenta
ternyata Beautiful Soup 3.1.0 error jadi harus di downgrade...

untuk program phemail ane ternyata muncul kesalahan lagi....
tolong para mastah memberikan petunjuk... untuk solusinya...
[CODE]Gathering emails from domain: irongeek.com
Traceback (most recent call last):
File "./phemail.py", line 206, in
gatherEmails(domain[0],domain[1],p)
File "./phemail.py", line 51, in gatherEmails
namesurname = re.sub(' -.*','',a.text.encode('utf8'))
AttributeError: 'NoneType' object has no attribute 'encode'[/CODE]

Terima Kasih untuk petunjuknya..


itu soale a.text tipenya None (napa kok None? mana ane tau, cari tau sendiri di script ente)
manggil None.encode() jadi apa? jadi error
masrosid2 - 05/10/2012 04:49 PM
#742
edx
ada yang gabung di edx ga?
saya iseng ikut yang 6.00x di sana. ini cuma mau share video yg didapat dr group facebook, kalau ga berkenan jangan dibata ya Yb
https://www.dropbox.com/sh/orfkrtdne3kw86k/6czs4RsBir
masrosid2 - 10/10/2012 12:45 AM
#743

gan ane butuh bantuan nih. lagi ngerjain problem set tp stuck.

problem set-nya ada 3 bagian. bagian 1 dan 2 udah bisa(acc). tp ane belum bisa yg bagian 3.
PS nya mengenai credit card gan, ane sebenernya ga begitu ngerti sama credit card. tp kalau cuma ngerjain yg bagian 1 dan 2 masih bisa.

jadi gambarannya gini, kalau kita bikin credit card, kita mempunyai sejumlah uang yg dpt dibelanjakan ( ga tau namanya ap), anggap aja ini kayak utang ya, sebut saja balance. trus berarti setiap bula kita disuruh bayar tagihan dgn jumlah tertentu, tp dengan minimal sekian persen dari balance td. tp di bulan berikutnya si balance td udah ditambahin bunga.

ilustrasil lengkapnya spt ini gan. (ane takut salah menyampaikan informasi.)

yang baris 13 itu maksudnya persamaan ini gan
[IMG]http://latex.codecogs.com/gif.latex?b_2%20=%20(b_1-p_1)*(1+\frac{r}{12})[/IMG]

sedangkan baris 17, maksudnya
[IMG]http://latex.codecogs.com/gif.latex?b_2%20=%20(b_1-p_1)*(1+\frac{r}{12})[/IMG]

masalah di bagian 2 dan 3 adalah kita disuruh nyari nilai minimun p yang fixed, sedemikian hingga dengan p itu kita dapat melunasi balance tsb selama 12 bulan saja.
contoh dari bagian 2:
balance = 3329; annualInterestRate = 0.2 diperoleh nilai p = 310

pada contoh ini sudah ditentukan bahwa p minimum $10 atau kelipatan 10
ane pake code berikut ini dan sukses
[CODE]def getRemainingBalance(balance, payment, annualRate):
for month in xrange(1, 13):
balance = (balance - payment) * ( 1 + annualRate/12.0)
return balance

payment = 10
theRemainingBalance = getRemainingBalance(balance, payment, annualInterestRate)
while theRemainingBalance > 0:
payment += 10
theRemainingBalance = getRemainingBalance(balance, payment, annualInterestRate)

print('Lowest Payment: ' + str(payment))[/CODE]

masalahnya untuk yg bagian 3 mesti pake bisection search untuk mencari nilai p-nya. code ane sebenarnya mirip dgn yg di atas. tp ternyata terlalu lama. padahal waktunya maksimal cuma 30s. oya, untuk bagian 3 ini nilai balance lebih besar.
[CODE]balance = 320000
annualInterestRate = 0.2

def getRemainingBalance(balance, payment, annualRate):
monthlyRate = annualRate/12.0
for month in xrange(1, 13):
balance = (balance - payment) * ( 1 + monthlyRate)
return balance

monthlyInterestRate = annualInterestRate / 12.0
low = balance / 12.0
high = (balance * (1 + monthlyInterestRate)**12) / 12.0

payment = (low + high)/2.0
remainingBalance = getRemainingBalance(balance, payment, annualInterestRate)

while abs(remainingBalance) > 0.01 or low != high:
if remainingBalance < 0:
high = payment
else:
low = payment
payment = (low + high)/2.0
remainingBalance = getRemainingBalance(balance, payment, annualInterestRate)

print payment
print remainingBalance
[/CODE]

formula untuk mencari low dan high awal emang udah ditentukan spt itu. punya ane itu salahnya dimana ya? soalnya ga ada error kalau dijalankan. cuma ya itu lama banget. ane menduganya di while loop atau di fungsi getRemainingBalance yg bikin lama.

gimana biar cepet??atau logikanya yg salah?
setiadi2708 - 10/10/2012 01:25 AM
#744

Quote:
Original Posted By masrosid2
gan ane butuh bantuan nih. lagi ngerjain problem set tp stuck.

problem set-nya ada 3 bagian. bagian 1 dan 2 udah bisa(acc). tp ane belum bisa yg bagian 3.
PS nya mengenai credit card gan, ane sebenernya ga begitu ngerti sama credit card. tp kalau cuma ngerjain yg bagian 1 dan 2 masih bisa.

jadi gambarannya gini, kalau kita bikin credit card, kita mempunyai sejumlah uang yg dpt dibelanjakan ( ga tau namanya ap), anggap aja ini kayak utang ya, sebut saja balance. trus berarti setiap bula kita disuruh bayar tagihan dgn jumlah tertentu, tp dengan minimal sekian persen dari balance td. tp di bulan berikutnya si balance td udah ditambahin bunga.

masalah di bagian 2 dan 3 adalah kita disuruh nyari nilai minimun p yang fixed, sedemikian hingga dengan p itu kita dapat melunasi balance tsb selama 12 bulan saja.
contoh dari bagian 2:
balance = 3329; annualInterestRate = 0.2 diperoleh nilai p = 310

pada contoh ini sudah ditentukan bahwa p minimum $10 atau kelipatan 10
ane pake code berikut ini dan sukses

formula untuk mencari low dan high awal emang udah ditentukan spt itu. punya ane itu salahnya dimana ya? soalnya ga ada error kalau dijalankan. cuma ya itu lama banget. ane menduganya di while loop atau di fungsi getRemainingBalance yg bikin lama.

gimana biar cepet??atau logikanya yg salah?


Apabila
P = Jumlah Balance
R = Jumlah Bunga Per Bulan
N = Jumlah Bulan Sampai Balance Habis
M = Jumlah Bayar Per Bulan

Maka
R2= (1+R)^N
M = P*R2*R/(R2-1)

P = 3329
R = 0,2 / 12 = 0.01667
N = 12

R2= 1.21944
M = 3329*1.21944*0.01667/(1.21944-1)
= 67.67213 / 0.21944
= 308.38557

http://math.fau.edu/qian/course/MGF1107/Monthly%20payment%20calculation%20using%20formula.htm

Rumus lain dengan hasil yang sama
R2= (1+R)^N
M = P*(R+(R/(R2-1)))

R2= 1.21944
M = 3329*(0.01667+(0.01667/(1.21944-1)))
= 3329*(0.01667+(0.01667/0.21944)
= 3329*(0.01667+0.07597)
= 3329*0.09264
= 308.39856

http://www.ehow.com/about_5365969_formula-used-calculate-loans.html
masrosid2 - 10/10/2012 10:17 PM
#745

Quote:
Original Posted By setiadi2708
Apabila
P = Jumlah Balance
R = Jumlah Bunga Per Bulan
N = Jumlah Bulan Sampai Balance Habis
M = Jumlah Bayar Per Bulan

Maka
R2= (1+R)^N
M = P*R2*R/(R2-1)

P = 3329
R = 0,2 / 12 = 0.01667
N = 12

R2= 1.21944
M = 3329*1.21944*0.01667/(1.21944-1)
= 67.67213 / 0.21944
= 308.38557

http://math.fau.edu/qian/course/MGF1...%20formula.htm

Rumus lain dengan hasil yang sama
R2= (1+R)^N
M = P*(R+(R/(R2-1)))

R2= 1.21944
M = 3329*(0.01667+(0.01667/(1.21944-1)))
= 3329*(0.01667+(0.01667/0.21944)
= 3329*(0.01667+0.07597)
= 3329*0.09264
= 308.39856

http://www.ehow.com/about_5365969_fo...ate-loans.html


terimakasih gan... tp kalau pake cara itu.. berarti ga perlu pake bisection search dong ya...
padahal di sini kan yg dipentingkan bisection search-nya..

ane jd bingung gan.. bingungs
setiadi2708 - 10/10/2012 11:13 PM
#746

Quote:
Original Posted By masrosid2
terimakasih gan... tp kalau pake cara itu.. berarti ga perlu pake bisection search dong ya...
padahal di sini kan yg dipentingkan bisection search-nya..

ane jd bingung gan.. bingungs


[code]balance = 320000
annualInterestRate = 0.2

def getRemainingBalance(balance, payment, annualRate):
monthlyRate = annualRate/12.0
for month in xrange(1, 13):
balance = (balance - payment) * ( 1 + monthlyRate)
return balance

monthlyInterestRate = annualInterestRate / 12.0
low = balance / 12.0
high = (balance * (1 + monthlyInterestRate)**12) / 12.0

payment = (low + high)/2.0
remainingBalance = getRemainingBalance(balance, payment, annualInterestRate)

while abs(remainingBalance) > 0.01 or low != high:
if remainingBalance < 0:
high = payment
else:
low = payment
payment = (low + high)/2.0
remainingBalance = getRemainingBalance(balance, payment, annualInterestRate)

print payment
print remainingBalance[/code]

oh tetap mau pakai bisection Peace:
[code]or low != high[/code] dihilangkan, soalnya low tidak akan pernah sama dengan high, jadi dia loop forever, misalnya pada kasus diatas, looping terjadi pada low=29157.0903806 dan high=29157.0903808

http://ideone.com/cP9L7
masrosid2 - 11/10/2012 02:01 AM
#747

Quote:
Original Posted By setiadi2708
[code]balance = 320000
annualInterestRate = 0.2

def getRemainingBalance(balance, payment, annualRate):
monthlyRate = annualRate/12.0
for month in xrange(1, 13):
balance = (balance - payment) * ( 1 + monthlyRate)
return balance

monthlyInterestRate = annualInterestRate / 12.0
low = balance / 12.0
high = (balance * (1 + monthlyInterestRate)**12) / 12.0

payment = (low + high)/2.0
remainingBalance = getRemainingBalance(balance, payment, annualInterestRate)

while abs(remainingBalance) > 0.01 or low != high:
if remainingBalance < 0:
high = payment
else:
low = payment
payment = (low + high)/2.0
remainingBalance = getRemainingBalance(balance, payment, annualInterestRate)

print payment
print remainingBalance[/code]

oh tetap mau pakai bisection Peace:
[code]or low != high[/code] dihilangkan, soalnya low tidak akan pernah sama dengan high, jadi dia loop forever, misalnya pada kasus diatas, looping terjadi pada low=29157.0903806 dan high=29157.0903808

http://ideone.com/cP9L7


betul ternyata gan. kalau yg itu dihilangkan jadi acc. makasih gan shakehand

btw knp bisa begitu ya? apakah krn dia pake float, jd ga pernah akan sama?
ternyata dari kemarin masalahnya itu.
setiadi2708 - 11/10/2012 07:09 AM
#748

Quote:
Original Posted By masrosid2
betul ternyata gan. kalau yg itu dihilangkan jadi acc. makasih gan shakehand

btw knp bisa begitu ya? apakah krn dia pake float, jd ga pernah akan sama?
ternyata dari kemarin masalahnya itu.


betul gan, salah satu peraturan penting dalam floating point adalah gak boleh dibandingkan untuk equality, kalau perlu membandingkan, pakai if abs(float1 - float2) < epsilon (ketelitian) yang diinginkan, misalnya 1 atau 0,00001, dsb.

coba search di google pakai kata kunci
[code]never compare float[/code]

http://stackoverflow.com/questions/504335/what-are-the-pitfalls-in-implementing-binary-search
http://stackoverflow.com/questions/9867108/issue-in-double-value-comparison-with-php
http://stackoverflow.com/questions/10334688/how-dangerous-is-it-to-compare-floating-point-values
masrosid2 - 14/10/2012 10:42 AM
#749

ane pengin bikin list yang isinya kaya gini, tp belum ngerti algoritmanya. listnya berukuran size * 2 ^(size-1)

size = 2

Mari Bermain Pemrograman Bersama Python

size = 3

Mari Bermain Pemrograman Bersama Python

size = 4

Mari Bermain Pemrograman Bersama Python

untuk contoh dgn size = 4, kita bikin seed =[ 1(=2^0), 2(=2^1), 4(=2^2), 8(=2^3)], maka elemen-elemen yang lain mrp penjumlahan dari semua kombinasi dari seed ini.
misal angka 7 didapat dari 1 + 2 + 4
angka 15 dari 1 + 2 + 4 + 8
angka 12 dari 4 + 8 dst

ane baru bisa kayak gini.
Spoiler for "code"

[CODE]
size = 4
cards =[]
seeds = []

#inisialisasi list
for i in xrange(size):
seeds.append(2**i)
cards.append([])

# pengisian elemen yg lain
for i in xrange(size):
seed = seeds[i]
cards[i].append(seed)

for j in xrange(size):
if j == i:
continue
else:
number = seed + seeds[j]
cards[i].append(number)

# diurutkan biar enak dilihat
for i in xrange(size):
cards[i].sort()

# cek hasilnya
print seeds
print cards

[/CODE]

Spoiler for output

[CODE]
[1, 2, 4, 8]
[[1, 3, 5, 9], [2, 3, 6, 10], [4, 5, 6, 12], [8, 9, 10, 12]]
[/CODE]


itu ane baru bisa yg penjumlahan 2 elemen saja(1, 2), (1,4), (1,8) , (2, 1), (2,4), (2,8) dst, padahal kan harusnya ada yg dari 3 elemen (1,2,4), (1, 2, 8), (1, 4, 8),(2,4,8) dan 4 elemen (1,2,4,8).

gimana ya?mohon pencerahannya
setiadi2708 - 14/10/2012 01:13 PM
#750

Quote:
Original Posted By masrosid2
ane pengin bikin list yang isinya kaya gini, tp belum ngerti algoritmanya. listnya berukuran size * 2 ^(size-1)

untuk contoh dgn size = 4, kita bikin seed =[ 1(=2^0), 2(=2^1), 4(=2^2), 8(=2^3)], maka elemen-elemen yang lain mrp penjumlahan dari semua kombinasi dari seed ini.
misal angka 7 didapat dari 1 + 2 + 4
angka 15 dari 1 + 2 + 4 + 8
angka 12 dari 4 + 8 dst

gimana ya?mohon pencerahannya


lihat angka binernya gan !
misalnya angka 7 adalah 1+2+4, maka sebenarnya bisa digambarkan seperti ini
1=001
2=010
4=100
dan hasil jumlahnya
7=111 atau
bit 1 = true karena 7 memiliki 1 sebagai angka kombinasi faktor penjumlahnya
bit 2 = true karena 7 memiliki 2 sebagai angka kombinasi faktor penjumlahnya
bit 3 = true karena 7 memiliki 4 sebagai angka kombinasi faktor penjumlahnya

oleh sebab itu pada list yang diinginkan
baris 1 terdiri dari angka2 yang bit 1 = true
baris 2 terdiri dari angka2 yang bit 2 = true
baris 3 terdiri dari angka3 yang bit 3 = true
dsb

atau cara lain
pada baris n, dengan seed x=2^(n-1), mulai dari x buat angka yang berurutan sebanyak x kali, kemudian tambahkan dengan 2^n, buat lagi angka yang berurutan sebanyak x kali

baris 1 seed = 1
1 (angka berurutan sebanyak 1 kali), 3 (tambah 2), 5 (tambah 2), dst

baris 2 seed = 2
2, 3 (angka berurutan sebanyak 2 kali), 6,7 (tambah 4 dan angka berurutan sebanyak 2 kali), 10,11, 14,15, dst

baris 3 seed = 4
4,5,6,7 (angka berurutan sebanyak 4 kali), 12,13,14,15 (tambah 8 dan angka berurutan sebanyak 4 kali), 20,21,22,23, dst

baris 4 seed = 8
8,9,10,11,12,13,14,15 (angka berurutan sebanyak 8 kali), 24,25,26,27,28,29,30,31 (tambah 16 dan angka berurutan sebanyak 8 kali), dst
masrosid2 - 17/10/2012 09:50 PM
#751

udah bisa gan yang pake operasi bit. yang cara kedua belum bikin.
BadutOmpong - 20/10/2012 12:35 AM
#752

ini bagi yg ikut EdX ada soal baru lagi ~
mohon donk pencerahan nya ~
masrosid2 - 20/10/2012 02:33 AM
#753

Quote:
Original Posted By BadutOmpong
ini bagi yg ikut EdX ada soal baru lagi ~
mohon donk pencerahan nya ~


pencerahan yg mana gan?
Page 38 of 38 | ‹ First  < 33 34 35 36 37 38
Home > LOEKELOE > COMPUTER STUFF > Programmer Forum > Mari Bermain Pemrograman Bersama Python