Minggu, 11 Agustus 2019

Python Linier Regressi


Misalkan ini contoh datalatih:

No Age Sex Job Housing Saving accounts Checking account Credit amount Duration Purpose Risk
0 67 male 2 own NA little 1169 6 radio/TV good
1 22 female 2 own little moderate 5951 48 radio/TV bad
2 49 male 1 own little NA 2096 12 education good
3 45 male 2 free little little 7882 42 furniture/equipment good
4 53 male 2 free little little 4870 24 car bad
5 35 male 1 free NA NA 9055 36 education good
6 53 male 2 own quite rich NA 2835 24 furniture/equipment good
7 35 male 3 rent little moderate 6948 36 car good
8 61 male 1 own rich NA 3059 12 radio/TV good
9 28 male 3 own little moderate 5234 30 car bad
10 25 female 2 rent little moderate 1295 12 car bad
11 24 female 2 rent little little 4308 48 business bad
12 22 female 2 own little moderate 1567 12 radio/TV good
13 60 male 1 own little little 1199 24 car bad
14 28 female 2 rent little little 1403 15 car good
15 32 female 1 own moderate little 1282 24 radio/TV bad
16 53 male 2 own NA NA 2424 24 radio/TV good
17 25 male 2 own NA little 8072 30 business good
18 44 female 3 free little moderate 12579 24 car bad
19 31 male 2 own quite rich NA 3430 24 radio/TV good
20 48 male 2 own little NA 2134 9 car good
21 44 male 2 rent quite rich little 2647 6 radio/TV good
22 48 male 1 rent little little 2241 10 car good
23 44 male 2 own moderate moderate 1804 12 car good
24 26 male 2 own NA NA 2069 10 furniture/equipment good
25 36 male 1 own little little 1374 6 furniture/equipment good
26 39 male 1 own little NA 426 6 radio/TV good
27 42 female 2 rent rich rich 409 12 radio/TV good
28 34 male 2 own little moderate 2415 7 radio/TV good
29 63 male 2 own little little 6836 60 business bad







GD_LINIER_REGRESI
In [30]:
import pandas as pd
import numpy as np
from sklearn import preprocessing
import matplotlib.pyplot as plt 
plt.rc("font", size=14)
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
import seaborn as sns
sns.set(style="white")
sns.set(style="whitegrid", color_codes=True)
In [31]:
def display(obj):
    cv2.imshow("show",obj)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    b=edges.shape[0]
    c=edges.shape[1]

    #for i in range(b): 
    #    for j in range(c):
    #        D=edges[i][j]
    #        #print(str(i)+","+str(j)+"="+str(D))
    return img   

def myresize(obj,b,c):
    dim = (b, c)
    resized = cv2.resize(obj, dim, interpolation = cv2.INTER_AREA)
    return resized

def resshape(img):
    width = int(img.shape[0])
    height = int(img.shape[1])
    wh=width * height
    dim = (wh, 1)
    resized = cv2.resize(img, dim, interpolation = cv2.INTER_AREA)
    return resized

def uk(obj):
    width = int(obj.shape[0])
    height = int(obj.shape[1])
    print (width ,' x ' , height)
    return (width ,' x ' , height)

def uk2(obj):
    width =len(obj[0])
    height = len(obj[1])
    print (width ,' x ' , height)
    return (width ,' x ' , height)

def uk3(obj):
    s =obj.shape()
    return s

def model(obj):
    lap=type(obj)
    print(lap)
    return lap
In [32]:
data=pd.read_csv('GD\\mycsv_test.csv',header=0) #pandas.core.frame.DataFrame 4521  x  17
data=data.dropna()
print(data.columns)
print(list(data.columns))
#['age;"job";"marital";"education";"default";"balance";"housing";"loan";"contact";"day";"month";"duration";"campaign";"pdays";"previous";"poutcome";"y"']
data.head()
Index(['No', 'Age', 'Sex', 'Job', 'Housing', 'Saving accounts',
       'Checking account', 'Credit amount', 'Duration', 'Purpose', 'Risk'],
      dtype='object')
['No', 'Age', 'Sex', 'Job', 'Housing', 'Saving accounts', 'Checking account', 'Credit amount', 'Duration', 'Purpose', 'Risk']
Out[32]:
No Age Sex Job Housing Saving accounts Checking account Credit amount Duration Purpose Risk
1 1 22 female 2 own little moderate 5951 48 radio/TV bad
3 3 45 male 2 free little little 7882 42 furniture/equipment good
4 4 53 male 2 free little little 4870 24 car bad
7 7 35 male 3 rent little moderate 6948 36 car good
9 9 28 male 3 own little moderate 5234 30 car bad
In [50]:
model(data)
list(data)
<class 'pandas.core.frame.DataFrame'>
Out[50]:
['No',
 'Age',
 'Sex',
 'Job',
 'Housing',
 'Saving accounts',
 'Checking account',
 'Credit amount',
 'Duration',
 'Purpose',
 'Risk']
In [37]:
data['Risk'].unique()
Out[37]:
array(['bad', 'good'], dtype=object)
In [19]:
#data['education']=np.where(data['education'] =='basic.9y', 'Basic', data['education'])
#data['education']=np.where(data['education'] =='basic.6y', 'Basic', data['education'])
#data['education']=np.where(data['education'] =='basic.4y', 'Basic', data['education'])
#data['y'].value_counts()
In [38]:
sns.countplot(x='Risk',data=data,palette='hls')
plt.show()
plt.savefig('count_plot')
<Figure size 432x288 with 0 Axes>
In [39]:
sns.countplot(x='Purpose',data=data,palette='hls')
plt.show()
plt.savefig('count_plot')
<Figure size 432x288 with 0 Axes>
In [40]:
jno= len(data[data['Risk']=='good'])
jyes = len(data[data['Risk']=='bad'])
total=jno + jyes
pct_of_no_sub = jno/(total)
print("percentage of no subscription is", pct_of_no_sub*100)
pct_of_sub = jyes/(total)
print("percentage of subscription", pct_of_sub*100)
percentage of no subscription is 55.74712643678161
percentage of subscription 44.252873563218394
In [42]:
data.groupby('Risk').mean()
Out[42]:
No Age Job Credit amount Duration
Risk
bad 515.718615 34.147186 1.913420 3881.090909 25.445887
good 475.903780 35.477663 1.845361 2800.594502 18.079038
In [43]:
data.groupby('Purpose').mean()
Out[43]:
No Age Job Credit amount Duration
Purpose
business 467.075472 35.188679 1.830189 4337.207547 28.452830
car 501.000000 36.861272 1.919075 3593.416185 20.381503
domestic appliances 452.333333 35.500000 1.833333 1333.500000 17.666667
education 518.607143 35.571429 1.928571 3394.107143 22.428571
furniture/equipment 492.485981 32.411215 1.934579 3111.028037 20.457944
radio/TV 500.765152 32.946970 1.787879 2265.916667 19.916667
repairs 473.714286 40.857143 1.285714 2821.142857 18.642857
vacation/others 391.888889 41.333333 2.666667 9495.444444 32.444444
In [44]:
data.groupby('Sex').mean()
Out[44]:
No Age Job Credit amount Duration
Sex
female 519.226190 32.720238 1.803571 2937.202381 19.916667
male 481.324859 35.918079 1.909605 3440.833333 22.014124
In [45]:
%matplotlib inline
pd.crosstab(data.Sex,data.Risk).plot(kind='bar')
plt.title('Purchase Frequency for Job Title')
plt.xlabel('gender')
plt.ylabel('Frequency of Purchase')
plt.savefig('Gender of Purchase')
In [46]:
%matplotlib inline
pd.crosstab(data.Housing,data.Risk).plot(kind='bar')
plt.title('Purchase Frequency for Housing Title')
plt.xlabel('Housing')
plt.ylabel('Frequency of Purchase')
plt.savefig('purchase_fre_Housing')
In [52]:
%matplotlib inline
pd.crosstab(data.Housing,data.Risk).plot(kind='bar')
plt.title('Purchase Frequency for Credit amount Title')
plt.xlabel('Credit amount')
plt.ylabel('Frequency of Purchase')
plt.savefig('Purchase_Credit amount')
In [ ]:
 
In [ ]:
 

Jumat, 31 Mei 2019

SVM Python

import pandas as pd 
import numpy as np 
import matplotlib.pyplot as plt 
%matplotlib inline


def display(img):
    cv2.imshow("show",img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    b=edges.shape[0]
    c=edges.shape[1]

    #for i in range(b):
    #    for j in range(c):
    #        D=edges[i][j]
    #        #print(str(i)+","+str(j)+"="+str(D))
    return img 

def myresize(img,b,c):
    dim = (b, c)
    resized = cv2.resize(img, dim, interpolation = cv2.INTER_AREA)
    return resized

def resshape(img):
    width = int(img.shape[0])
    height = int(img.shape[1])
    wh=width * height
    dim = (wh, 1)
    resized = cv2.resize(img, dim, interpolation = cv2.INTER_AREA)
    return resized

def uk(img):
    width = int(img.shape[0])
    height = int(img.shape[1])
    print (width ,' x ' , height)
    return (width ,' x ' , height)

def uk2(img):
    width =len(img[0])
    height = len(img[1])
    print (width ,' x ' , height)
    return (width ,' x ' , height)

def uk3(img):
    s =img.shape()
    return s

def model(img):
    lap=type(img)
    print(lap)
    return lap




bankdata = pd.read_csv("data/wavelet.csv")
bankdata.head()   #<class 'pandas.core.frame.DataFrame'>


train=bankdata
model(train)
#X = bankdata.drop('Class', axis=1) 
#y = bankdata['Class']

X = train.iloc[:, :-1].values.astype('int32') #:[:, :-1], [:, 4]=just c4,[:, 1:]c1 dst=1371  x  4
y = train.iloc[:, 4].values.astype('int32')

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.30) 


from sklearn.svm import SVC 
svclassifier = SVC(kernel='linear') 
svclassifier.fit(X_train, y_train) 




print(X_test)
y_pred = svclassifier.predict(X_test)  

print(y_test)
print(y_pred)

correct = 0
total = len(y_test)
for i in range(total):
    predicted = y_pred[i] #np.argmax(y_pred[i])
    test = y_test[i] #np.argmax(y_test[i])
    #print(predicted ,'=',test)
    correct = correct + (1 if predicted == test else 0)
print('Accuracy: {:f}'.format(correct/total))


hasil:
[[-3 -8 10  0]
 [ 1  6  0  0]
 [-1  9  1 -5]
 ...
 [ 3  1  1  1]
 [ 0 -1  1  0]
 [ 0  3  4  0]]
[1 0 0 1 1 1 1 0 0 0 1 0 1 1 0 1 1 0 1 0 0 1 0 1 0 1 0 0 1 0 1 0 0 0 0 0 0
 0 0 1 0 0 0 0 0 1 1 0 1 1 0 0 0 0 1 0 0 1 1 1 0 0 1 1 1 1 1 0 1 1 1 1 1 1
 1 0 1 0 1 0 1 1 1 1 1 0 0 0 0 1 0 1 1 0 1 1 0 0 1 0 1 0 1 1 0 0 0 1 1 1 1
 1 0 1 0 1 0 1 0 0 1 0 1 1 1 0 0 1 1 0 0 0 0 0 1 0 1 0 0 1 1 0 0 1 0 0 1 0
 0 1 0 0 1 1 0 1 0 1 0 1 0 0 0 1 0 0 1 0 1 0 0 1 1 1 0 1 1 0 1 1 0 0 0 0 1
 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0 1 1 1 1 1 1 1 0 1 1 0
 1 0 0 1 1 1 0 1 0 1 1 0 0 0 0 1 1 1 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 1 0 0
 1 0 0 0 0 0 0 0 1 1 0 1 1 1 1 0 0 1 1 1 1 1 0 0 0 0 1 1 1 1 1 0 1 0 0 0 0
 1 0 0 0 1 1 0 1 0 0 0 0 1 1 0 0 1 0 0 0 1 1 0 0 0 1 0 0 0 1 0 0 1 0 1 1 1
 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 0 1 0 1 1 1 1 1 0 0 0 0 1 1 0 0 1 0 1 1 0
 0 1 1 1 1 0 0 1 0 0 0 0 0 1 0 0 1 1 1 1 1 1 1 1 0 0 1 0 0 0 0 0 1 0 0 1 0
 1 1 0 1 0]
[1 0 0 1 1 1 0 0 0 0 1 0 1 1 0 1 1 0 1 0 0 1 0 1 0 1 0 0 1 0 1 0 0 0 0 0 0
 0 0 1 0 0 0 0 0 1 1 0 1 1 0 0 0 0 1 0 0 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1
 1 0 1 0 1 0 1 1 1 1 1 0 0 0 0 1 0 1 1 0 1 1 0 0 1 0 1 0 1 1 0 0 0 1 1 1 1
 1 0 1 0 1 1 1 0 0 1 0 1 1 1 0 0 1 1 0 0 0 0 0 1 0 1 0 0 1 1 0 0 1 0 0 1 0
 0 1 0 0 1 1 0 1 0 1 0 1 0 0 0 1 0 0 1 0 1 0 0 1 1 1 0 1 1 0 1 1 0 0 0 0 1
 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 1 0 1 0 0 0 0 0 1 0 0 1 1 1 1 1 1 1 0 1 1 0
 1 0 0 1 1 1 0 1 0 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 0 1 0 0 0 0 1 1 0 1 0 1
 1 0 0 0 0 0 0 0 1 1 0 1 1 1 1 0 0 1 1 1 1 1 0 0 0 0 1 1 1 1 1 0 1 0 0 1 1
 1 0 0 0 1 1 0 1 0 0 0 0 1 1 0 0 1 0 0 0 1 1 0 0 0 1 0 0 0 1 0 0 1 0 1 1 1
 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 0 1 0 1 1 1 1 1 0 0 0 0 1 1 0 0 1 0 1 1 0
 0 1 1 1 1 0 1 1 0 0 0 0 0 1 0 0 1 1 1 1 1 1 1 1 1 0 1 0 0 0 0 0 1 0 0 1 0
 1 1 0 1 0]
Accuracy: 0.975728


from sklearn.metrics import classification_report, confusion_matrix  
print(confusion_matrix(y_test,y_pred))  
print(classification_report(y_test,y_pred))  

hasil
[[210   9]
 [  1 192]]
              precision    recall  f1-score   support

           0       1.00      0.96      0.98       219
           1       0.96      0.99      0.97       193

    accuracy                           0.98       412
   macro avg       0.98      0.98      0.98       412
weighted avg       0.98      0.98      0.98       412


#pengujian
dataUji=[3.6216,8.6661,-2.8073,-0.44699]
uji=list()
uji.append(dataUji)

y_pred = svclassifier.predict(uji)  
print("Hasil Pengujian ")
print(y_pred)

Hasil Pengujian 
[0]
pengujian uji=list() uji.append(X_test[0]) uji.append(X_test[1]) uji.append(X_test[2]) uji.append(X_test[3]) uji.append(X_test[4]) y_pred = svclassifier.predict(uji) print("Hasil Pengujian ") print(y_pred)
Hasil Pengujian 
[1 0 0 1 1]







Minggu, 19 Mei 2019

STEMMING IN PYTHON

Install LIB:
pip install -U nltk
pip install Sastrawi  

Selanjutnya kita diharuskan mengunduh paket tambahan dari modul NLTK ini dengan menjalankan kode dibawah.
import nltk

nltk.download()



#######################CODE:

from nltk.tokenize import sent_tokenize, word_tokenize
from nltk.corpus import stopwords
from nltk.stem import PorterStemmer

import nltk
import string

kalimat = "[MOJOK.co] Manfaat monitoring, singing dan jogging setiap pagi yang pertama adalah meredakan stres. Olahraga itu seperti kode bagi tubuh untuk memproduksi hormon endorfin, agen perangsang rasa bahagia. Dilakukan di pagi hari, ketika udara masih bersih, sejuk, jalanan lengang, gunung terlihat jelas di sebelah utara, manfaat jogging bisa kamu rasakan secara maksimal."
kalimat = kalimat.translate(str.maketrans('','',string.punctuation)).lower() #menghilangkan tanda baca
case_folding = kalimat.lower() #casefolding

tokens = nltk.tokenize.word_tokenize(case_folding) #list
#print(tokens)

kemunculan = nltk.FreqDist(tokens)
#print(kemunculan.most_common())

listStopword =  set(stopwords.words('indonesian'))
st = PorterStemmer()

removed = []
stemmed = []
for t in tokens:
    if t not in listStopword:
        removed.append(t)
        stemmed.append(st.stem(t))   #include STEMMING in English
     
#print(removed) #list
#print(stemmed) #list

kemunculan = nltk.FreqDist(stemmed)
print(kemunculan.most_common())

mydistinct = set(stemmed)                #type SET
kemunculan = nltk.FreqDist(mydistinct)
print(kemunculan.most_common())
#print(mydistinct)
######################################Convert  SET to List
listdata=[]
for letter in set(mydistinct):
    listdata.append(letter)
print(listdata)



OUT:
[('manfaat', 2), ('jog', 2), ('pagi', 2), ('mojokco', 1), ('monitor', 1), ('sing', 1), ('meredakan', 1), ('stre', 1), ('olahraga', 1), ('kode', 1), ('tubuh', 1), ('memproduksi', 1), ('hormon', 1), ('endorfin', 1), ('agen', 1), ('perangsang', 1), ('bahagia', 1), ('udara', 1), ('bersih', 1), ('sejuk', 1), ('jalanan', 1), ('lengang', 1), ('gunung', 1), ('sebelah', 1), ('utara', 1), ('rasakan', 1), ('maksim', 1)]
[('maksim', 1), ('bahagia', 1), ('hormon', 1), ('stre', 1), ('memproduksi', 1), ('utara', 1), ('rasakan', 1), ('kode', 1), ('manfaat', 1), ('gunung', 1), ('endorfin', 1), ('jog', 1), ('lengang', 1), ('mojokco', 1), ('tubuh', 1), ('perangsang', 1), ('sejuk', 1), ('meredakan', 1), ('udara', 1), ('agen', 1), ('bersih', 1), ('jalanan', 1), ('sing', 1), ('olahraga', 1), ('sebelah', 1), ('pagi', 1), ('monitor', 1)]
['maksim', 'bahagia', 'hormon', 'mojokco', 'stre', 'memproduksi', 'utara', 'tubuh', 'rasakan', 'kode', 'perangsang', 'manfaat', 'gunung', 'sejuk', 'meredakan', 'udara', 'agen', 'bersih', 'jalanan', 'sing', 'olahraga', 'sebelah', 'endorfin', 'jog', 'pagi', 'monitor', 'lengang']

++++++++++++



STEMMING INDONESIA

from nltk.tokenize import sent_tokenize, word_tokenize
from nltk.corpus import stopwords
from nltk.stem import PorterStemmer
from Sastrawi.Stemmer.StemmerFactory import StemmerFactory

import nltk
import string

#sastrawi
factory = StemmerFactory()
stemmerIndonesia = factory.create_stemmer()

kalimat = "[MOJOK.co] Manfaat monitoring, singing dan jogging setiap pagi yang pertama adalah meredakan stres. Olahraga itu seperti kode bagi tubuh untuk memproduksi hormon endorfin, agen perangsang rasa bahagia. Dilakukan di pagi hari, ketika udara masih bersih, sejuk, jalanan lengang, gunung terlihat jelas di sebelah utara, manfaat jogging bisa kamu rasakan secara maksimal."
kalimat = kalimat.translate(str.maketrans('','',string.punctuation)).lower() #menghilangkan tanda baca
case_folding = kalimat.lower() #casefolding

tokens = nltk.tokenize.word_tokenize(case_folding) #list
#print(tokens)

kemunculan = nltk.FreqDist(tokens)
#print(kemunculan.most_common())

listStopword =  set(stopwords.words('indonesian'))
stemmerEnglish = PorterStemmer()

removed = []
stemmed = []
for t in tokens:
    if t not in listStopword:
        removed.append(t)
        t2=stemmerEnglish.stem(t)                #Stem in English
        t3=stemmerIndonesia.stem(t2)             #Stem in sastrawi
        stemmed.append(t3)
 
#print(removed) #list
#print(stemmed) #list

kemunculan = nltk.FreqDist(stemmed)
print(kemunculan.most_common())

mydistinct = set(stemmed)                #type SET
kemunculan = nltk.FreqDist(mydistinct)
print(kemunculan.most_common())
#print(mydistinct)
#####################################stemming
listdata=[]
for letter in set(mydistinct):#Convert  SET to List
    listdata.append(letter)
print(listdata)

out
[('manfaat', 2), ('jog', 2), ('pagi', 2), ('mojokco', 1), ('monitor', 1), ('sing', 1), ('reda', 1), ('stre', 1), ('olahraga', 1), ('kode', 1), ('tubuh', 1), ('produksi', 1), ('hormon', 1), ('endorfin', 1), ('agen', 1), ('rangsang', 1), ('bahagia', 1), ('udara', 1), ('bersih', 1), ('sejuk', 1), ('jalan', 1), ('lengang', 1), ('gunung', 1), ('belah', 1), ('utara', 1), ('rasa', 1), ('maksim', 1)]
[('maksim', 1), ('bahagia', 1), ('hormon', 1), ('stre', 1), ('utara', 1), ('kode', 1), ('manfaat', 1), ('gunung', 1), ('reda', 1), ('endorfin', 1), ('jog', 1), ('lengang', 1), ('rangsang', 1), ('jalan', 1), ('mojokco', 1), ('tubuh', 1), ('belah', 1), ('sejuk', 1), ('udara', 1), ('bersih', 1), ('agen', 1), ('sing', 1), ('produksi', 1), ('rasa', 1), ('olahraga', 1), ('pagi', 1), ('monitor', 1)]
['maksim', 'jalan', 'bahagia', 'hormon', 'mojokco', 'stre', 'tubuh', 'utara', 'belah', 'kode', 'manfaat', 'gunung', 'sejuk', 'udara', 'reda', 'bersih', 'agen', 'sing', 'produksi', 'rasa', 'olahraga', 'endorfin', 'jog', 'pagi', 'monitor', 'lengang', 'rangsang']

Reff: https://github.com/sastrawi/sastrawi


Contoh Logika Percabangan +LOOP

x = input("something:")

IF  =hanya 1 cabang
nilai = 3
#Jika pernyataan pada if bernilai TRUE maka if akan dieksekusi, tetapi jika FALSE kode pada else yang akan dieksekusi.
if(nilai > 7):
    print("Selamat Anda Lulus")
else:
    print("Maaf Anda Tidak Lulus")

ELIF =bisa banyak cabang

hari_ini = "Minggu"

if(hari_ini == "Senin"):
    print("Saya akan kuliah")
elif(hari_ini == "Selasa"):
    print("Saya akan kuliah")
elif(hari_ini == "Rabu"):
    print("Saya akan kuliah")
elif(hari_ini == "Kamis"):
    print("Saya akan kuliah")
elif(hari_ini == "Jumat"):
    print("Saya akan kuliah")
elif(hari_ini == "Sabtu"):
    print("Saya akan kuliah")
elif(hari_ini == "Minggu"):
    print("Saya akan libur")

LOOP

count = 0
while (count < 9):
    print ('The count is:', count)
    count = count + 1

print ("Good bye!")

out:
The count is: 0
The count is: 1
The count is: 2
The count is: 3
The count is: 4
The count is: 5
The count is: 6
The count is: 7
The count is: 8
Good bye!


angka = [1,2,3,4,5]
for x in angka:
    print(x)

#Contoh pengulangan for
buah = ["nanas", "apel", "jeruk"]
for makanan in buah:
    print ("Saya suka makan", makanan)



1
2
3
4
5
Saya suka makan nanas
Saya suka makan apel
Saya suka makan jeruk

TIPE DATA LIST TUPEL DICT



nama = "Riadi MD"
umur = 31
tinggi = 170.5
menikah = True
# mencetak isi variabel
print ("Nama : "+ nama)
print ("Umur : "+ str(umur))
print ("Tinggi : ", (tinggi))
if(menikah):
    print ("Status: menikah")
else:
    print ("Status: belum menikah")


Nama : Riadi MD
Umur : 31
Tinggi :  170.5
Status: menikah

+++++++++++++++++++++++++

Fungsi-fungsi untuk mengubah tipe data:
  1. int() untuk mengubah menjadi integer;
  2. long() untuk mengubah menjadi integer panjang;
  3. float() untuk mengubah menjadi float;
  4. bool() untuk mengubah menjadi boolean;
  5. chr() untuk mengubah menjadi karakter;
  6. str() untuk mengubah menjadi string.
  7. bin() untuk mengubah menjadi bilangan Biner.
  8. hex() untuk mengubah menjadi bilangan Heksadesimal.
  9. oct() untuk mengubah menjadi bilangan okta.

a = True
b = False

# Logika AND
c = a and b
print ("%r and %r = %r" % (a,b,c))

# Logika OR
c = a or b
print ("%r or %r = %r" % (a,b,c))

# Logika Not
c = not a
print ("not %r  = %r" % (a,c))


OUT:
True and False = False
True or False = True
not True  = False

++++++++++++++++++++++++++++++++++++++++++
LIST


list1 = ['fisika', 'kimia', 1993, 2017]
list2 = [1, 2, 3, 4, 5, 6, 7 ]

print ("list1[0]: ", list1[0])
print ("list2[1:5]: ", list2[1:5])
list1[0]:  fisika
list2[1:5]:  [2, 3, 4, 5]

list = ['fisika', 'kimia', 1993, 2017]
print ("Nilai ada pada index 2 : ", list[2])

list[2] = 2001
print ("Nilai baru ada pada index 2 : ", list[2])
Nilai ada pada index 2 :  1993
Nilai baru ada pada index 2 :  2001

list = ['fisika', 'kimia', 1993, 2017]
print (list)
del list[2]
print ("Setelah dihapus nilai pada index 2 : ", list)

['fisika', 'kimia', 1993, 2017]
Setelah dihapus nilai pada index 2 :  ['fisika', 'kimia', 2017]





### Operasi Dasar Pada List Python

List Python merespons operator + dan * seperti string; Itu artinya penggabungan dan pengulangan di sini juga berlaku, kecuali hasilnya adalah list baru, bukan sebuah String.

Sebenarnya, list merespons semua operasi urutan umum yang kami gunakan pada String di bab sebelumnya. Dibawah ini adalah tabel daftar operasi dasar pada list python.

| Python Expression | Hasil | Penjelasan | 
| `len([1, 2, 3, 4])` | `4`                                                                    Length |
| `[1, 2, 3] + [4, 5, 6]` | `[1, 2, 3, 4, 5, 6]`                                           Concatenation |
| `['Halo!'] * 4` | `['Halo!', 'Halo!', 'Halo!', 'Halo!']`                  Repetition |
| `2 in [1, 2, 3]`         | `True` |                                                   Membership                        
| `for x in [1,2,3] : print (x,end = ' ')` | `1 2 3`                    Iteration |




### Indexing, Slicing dan Matrix Pada List Python

Karena list adalah urutan, pengindeksan dan pengiris bekerja dengan cara yang sama untuk list seperti yang mereka lakukan untuk String.

Dengan asumsi input berikut :

`L = ['C++'', 'Java', 'Python']`

 | Python Expression | Hasil | Penjelasan | 
 | `L[2]` | `'Python'` | Offset mulai dari nol | 
 | `L[-2]` | `'Java'` | Negatif: hitung dari kanan | 
 | `[1:]` | `['Java', 'Python']` | Slicing mengambil bagian | 



Python menyertakan fungsi built-in sebagai berikut :

| Python Function | Penjelasan |
| cmp(list1, list2) # |  Tidak lagi tersedia dengan Python 3 |
| len(list) | Memberikan total panjang list. |
| max(list) | Mengembalikan item dari list dengan nilai maks. |
| min(list) | Mengembalikan item dari list dengan nilai min. |
| list(seq) | Mengubah tuple menjadi list. |



Python menyertakan methods built-in sebagai berikut
 | list.append(obj) | Menambahkan objek obj ke list |
 | list.count(obj) | Jumlah pengembalian berapa kali obj terjadi dalam list |
 | list.extend(seq) | Tambahkan isi seq ke list |
 | list.index(obj) | Mengembalikan indeks terendah dalam list yang muncul obj |
 | list.insert(index, obj) | Sisipkan objek obj ke dalam list di indeks offset |
 | list.pop(obj = list[-1]) | Menghapus dan mengembalikan objek atau obj terakhir dari list |
 | list.remove(obj) | Removes object obj from list |
 | list.reverse() | Membalik list objek di tempat |
 | list.sort([func]) | Urutkan objek list, gunakan compare func jika diberikan |


++++++++++
CONTOH LIST-TUPEL-DICT

list = ['fisika', 'kimia', 1993, 2017]
type(list)    #list
len(list)      #4
list.count('fisika')  #1

+++++
tup1 = ('fisika', 'kimia', 1993, 2017)
tup2 = (1, 2, 3, 4, 5, 6, 7 )

print ("tup1[0]: ", tup1[0])
print ("tup2[1:5]: ", tup2[1:5])

tup1 = (12, 34.56)
tup2 = ('abc', 'xyz')

# Aksi seperti dibawah ini tidak bisa dilakukan pada tuple python
# Karena memang nilai pada tuple python tidak bisa diubah
# tup1[0] = 100;

# Jadi, buatlah tuple baru sebagai berikut
tup3 = tup1 + tup2
print (tup3)
(12, 34.56, 'abc', 'xyz')

+++++
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
print ("dict['Name']: ", dict['Name'])
print ("dict['Age']: ", dict['Age'])

dict['Age'] = 8; # Mengubah entri yang sudah ada
dict['School'] = "DPS School" # Menambah entri baru

print ("dict['Age']: ", dict['Age'])
print ("dict['School']: ", dict['School'])

#del dict['Name'] # hapus entri dengan key 'Name'
#dict.clear()     # hapus semua entri di dict
#del dict         # hapus dictionary yang sudah ada

out:
list[0]:  fisika
tup1[0]:  fisika
tup2[1:5]:  (2, 3, 4, 5)
dict['Name']:  Zara
dict['Age']:  7
dict['Age']:  8
dict['School']:  DPS School


str(dict)   #"{'Name': 'Zara', 'Age': 8, 'Class': 'First', 'School': 'DPS School'}"
dict.items()   #dict_items([('Name', 'Zara'), ('Age', 8), ('Class', 'First'), ('School', 'DPS School')])
dict.values()  #dict_values(['Zara', 8, 'First', 'DPS School'])



MEMBUAT CLASS:


class Employee:
   'Common base class for all employees'
   empCount = 0

   def __init__(self, name, salary):
      self.name = name
      self.salary = salary
      Employee.empCount += 1
   
   def displayCount(self):
     print ("Total Employee %d" % Employee.empCount)

   def displayEmployee(self):
      print( "Name : ", self.name,  ", Salary: ", self.salary)



emp1 = Employee("Zara", 2000)
emp2 = Employee("Manni", 5000)
emp1.displayEmployee()
emp2.displayEmployee()
print ("Total Employee %d" % Employee.empCount)

out:
Name :  Zara , Salary:  2000
Name :  Manni , Salary:  5000
Total Employee 6


Ref: https://belajarpython.com/tutorial/object-class-python








Contoh Python Basic

Belajar Dasar-Dasar Python 2

Kursus Hari2 Materi2

#-------------------------------------------------------
print "Selamat Belajar Python"
print "Sukses!"
#-------------------------------------------------------
nilai = input("Nilai ujian (0-100):")

if nilai >= 60:
    print "Lulus"
else:
    print "Tidak lulus"
#-------------------------------------------------------
tinggi = input("Tinggi segitiga: ")

baris = 1
while baris <= tinggi:
    print "*" * baris
    baris = baris + 1
#-------------------------------------------------------
x = 254

print "%d" % x
print "%8d" % x
print "%10d" % x

x = -254
y = 2.4678e-4

print "Format %%i: %i" % x
print "Format %%d: %d" % x
print "Format %%o: %o" % x
print "Format %%x: %x" % x
print "Format %%X: %X" % x
print "Format %%S: %s" % x

print "Format %%e: %e" % y
print "Format %%E: %E" % y
print "Format %%f: %f" % y
print "Format %%G: %G" % y
print "Format %%g: %g" % y
print "Format %%S: %s" % y

#-------------------------------------------------------
import math

kecepatan = input("Kecepatan: ")
sudut     = input("Sudut (derajat): ");

sudut = math.radians(sudut)
jarak = 2 * kecepatan * kecepatan * \
        math.sin(sudut) * math.cos(sudut) / 9.8

print "Jarak = ", jarak
#-------------------------------------------------------
nilai = input("Nilai ujian (0-100): ")

if nilai >= 90:
    print "A"
elif nilai >= 70:
    print "B"
elif nilai >= 60:
    print "C"
elif nilai >= 50:
    print "D"
else:
    print "E"
#-------------------------------------------------------
print "Menjumlah dua buah bilangan"

x = input("bilangan pertama: ")
y = input("bilangan kedua: ")

print "Jumlah = ",  (x+y)
#-------------------------------------------------------
while True:
    try:
        bil = input("Masukkan bilangan: ")
        break
    except SyntaxError:
        print("Anda salah memasukkan bilangan")
    except KeyboardInterrupt:
        print("\nMaaf jangan menekan tombol Ctrl+C")

print "Anda memasukkan bilangan", bil
#-------------------------------------------------------

while True:
    try:
        bil = input("Masukkan bilangan: ")
        break
    except SyntaxError:
        print("Anda salah memasukkan bilangan")

print "Anda memasukkan bilangan", bil
#-------------------------------------------------------
import time

bulan = ("Januari", "Pebruari", "Maret",
         "April", "Mei", "Juni",
         "Juli", "Agustus", "September",
         "Oktober", "Nopember", "Desember")
hari = ("Minggu", "Senin", "Selasa",
        "rabu", "Kamis", "Jumat", "Sabtu")

sekarang = time.time()
infowaktu = time.localtime(sekarang)
print "Saat sekarang :"
print "Tanggal", infowaktu[2], \
      bulan[infowaktu[1]-1], infowaktu[0]

print "Hari", hari[infowaktu[6]]
print "Jam", str(infowaktu[3]) + ":" + \
             str(infowaktu[4]) + ":" + \
             str(infowaktu[5])
#-------------------------------------------------------
def hitung_luas_lingkaran():
    print "Menghitung luas lingkaran"
    radius = input("Jari-jari = ")
    luas = 3.14 * radius * radius
    print "Luas=", luas

def hitung_luas_persegipanjang():
    print "Menghitung luas persegi panjang"
    panjang = input("Panjang = ")
    lebar   = input("Lebar   = ")
    luas = panjang * lebar
    print "Luas=", luas


# Program utama
print "Menghitung luas"
print "1. Lingkaran"
print "2. Persegipanjang"

pilihan = input("Pilihan (1 atau 2): ")
if pilihan == 1:
    hitung_luas_lingkaran()
elif pilihan == 2:
    hitung_luas_persegipanjang()
else:
    print "Pilihan salah"
#-------------------------------------------------------
daftar = ["1234", 2, "Edi", 1999]
jumlah = 0

for nilai in daftar:
    try:
        bil = int(nilai)
        jumlah = jumlah + 1
    except ValueError:
        pass

print "Jumlah elemen berupa bilangan:", jumlah
#-------------------------------------------------------
kalimat = raw_input("Masukkan suatu kalimat: ")
jumkar = {}
for kar in kalimat:
    jumkar[kar] = jumkar.get(kar,0) + 1

# Tampilkan frekuensi karakter
for kar in jumkar.keys():
    if kar == " ":
        print "Spasi = ",
    else:
        print kar, "=",

    print jumkar[kar]
#-------------------------------------------------------

daftar_nama = [ "Anwar Suadi", "Ahmad Jazuli",
                "Safitri", "Edi Juanedi",
                "Dian Anggraeni", "Rahmat Anwari"]

dicari = raw_input("Penggalan nama yang dicari: ")

indeks = 0
ketemu = False

while indeks <= len(daftar_nama):
    if dicari in daftar_nama[indeks]:
        ketemu = True
        break

    indeks = indeks + 1

if ketemu:
    print "Nama yang Anda cari cocok dengan: "
    print daftar_nama[indeks]
else:
    print "Tak ada yang cocok"
#-------------------------------------------------------
inp = raw_input('Enter Fahrenheit Temperature:')
fahr = float(inp)
cel = (fahr - 32.0) * 5.0 / 9.0
print cel
#-------------------------------------------------------
a = False
b = True

print ("a or b = ", a or b)
print ("a and b = ", a and b)
print ("not a = ", not a)
print ("not b = ", not b)
#-------------------------------------------------------
a = 21
b = 10

if ( a == b ):
   print "Baris 1 - a sama dengan b"
else:
   print "Baris 1 - a tidak sama dengan b"

if ( a != b ):
   print "Baris 2 - a tidak sama dengan b"
else:
   print "Baris 2 - a sama dengan b"

if ( a <> b ):
   print "Baris 3 - a tidak sama dengan b"
else:
   print "Baris 3 - a sama dengan b"

if ( a < b ):
   print "Baris 4 - a kurang dari b"
else:
   print "Baris 4 - a tidak kurang dari b"

if ( a > b ):
   print "Baris 5 - a lebih dari b"
else:
   print "Baris 5 - a tidak lebih dari b"

a = 5;
b = 20;
if ( a <= b ):
   print "Baris 6 - a kurang dari atau sama dengan b"
else:
   print "Baris 6 - a tidak kurang dari b"

if ( b >= a ):
   print "Baris 7 - a lebih dari atau sama dengan b"
else:
   print "Baris 7 - a tidak lebih dari b"
#-------------------------------------------------------
a = 15            # 60 = 0011 1100
b = 12            # 13 = 0000 1101
c = 0

c = a & b;        # 12 = 0000 1100
print "Baris 1 - Nilai dari c adalah ", c

c = a | b;        # 61 = 0011 1101
print "Baris 2 - Nilai dari c adalah ", c

c = a ^ b;        # 49 = 0011 0001
print "Baris 3 - Nilai dari c adalah ", c

c = ~a;           # -61 = 1100 0011
print "Baris 4 - Nilai dari c adalah ", c

c = a << 2;       # 240 = 1111 0000
print "Baris 5 - Nilai dari c adalah ", c

c = a >> 2;       # 15 = 0000 1111
print "Baris 6 - Nilai dari c adalah ", c
#-------------------------------------------------------
x = raw_input ('Masukkan nilai x = ')
y = raw_input ('Masukkan nilai y = ')

if x < y:
   print 'x is less than y'
elif x > y:
   print 'x is greater than y'
else:
   print 'x and y are equal'
#-------------------------------------------------------
x = raw_input ('Masukkan nilai x = ')
y = raw_input ('Masukkan nilai y = ')

if x == y:
      print 'x dan y adalah sama'
else:
      if x < y:
            print 'x kurang dari y'
      else:
            print 'x is lebih dari y'

if 0 < x:
   if x < 10:
       print 'x is a positive single-digit number.'
#-------------------------------------------------------
inp = raw_input('Enter Fahrenheit Temperature:')
fahr = float(inp)
cel = (fahr - 32.0) * 5.0 / 9.0
print cel


#dengan try-except
inp = raw_input('Enter Fahrenheit Temperature:')
try:
  fahr = float(inp)
  cel = (fahr - 32.0) * 5.0 / 9.0
  print cel
except:
  print 'Please enter a number'
#-------------------------------------------------------
a = raw_input('Data masukan 1 :')
b = raw_input('Data masukan 2 :')

c=max(a)
d=min(b)

print c
print d
#-------------------------------------------------------
def print_sayhello():
     print "Hallo, apa kabar?"
     print "Saya senang Anda dapat memiliki dan menggunkan buku kami ini."


#memanggil fungsi di sini

print_sayhello ()  

#-------------------------------------------------------
def faktorial (a):
  if a == 1 :
      print a
      return 1
  else :
      print a
      return ( a * faktorial(a-1))

#program utama

m=raw_input ('Masukkan angka : ')
try :
  x=int(m)
  hasil=faktorial(x)
  print "Hasil faktorial ",x," adalah ", hasil
except:
  print "Data yang dimasukan salah, ulangi!"
#-------------------------------------------------------
N=raw_input ("jumlah loop N = ")
try :
   m=int(N)
   while m > 0 :
      print m
      m=m-1

   print  "BLASTOFF!"
except :
    print "Salah entry data"
#-------------------------------------------------------
i=1
while 1:
   i +=1
   print i
   if i == 1000:
      i=0
#stop with KeyboardInterrupt: tekan CTRL C di Windwows dan CTRL Z di Raspberry
print 'selesai ...'
#-------------------------------------------------------
i=1
while 1:
   i +=1
   print i
   if i == 1000:
      break
#stop with break
print 'selesai ...'
#-------------------------------------------------------
while True:
   print 'Ketik "done" untuk keluar dari loop ini'
   line = raw_input('> ')
   if line == 'done':
      break
   else :
      continue
   print line

print 'Done!'
 
#-------------------------------------------------------
temantemin = ['Edi', 'Faisal', 'Fajar']
for teman in temantemin:
   print 'Selamat bekerja kawanku,', teman,' !'

print 'SELESAI!'
 
#-------------------------------------------------------
data = [3, 41, 12, 9, 74, 15]
count = 0
for itervar in data:
      count = count + 1
      print count,itervar

print 'Count: ', count
#-------------------------------------------------------
data = [3, 41, 12, 9, 74, 15]
total = 0
for itervar in data:
      total = total + itervar
      print total
   
print 'Jumlah: ', total
#-------------------------------------------------------
data = [3, 41, 12, 9, 74, 15]
total = 0
for itervar in data:
      total = total + itervar
      print total
   
print 'Jumlah: ', total
#-------------------------------------------------------
data = [3, 41, 12, 9, 74, 15]
terbesar = None
print 'Sebelum: ', terbesar

for itervar in data:
      if terbesar is None or itervar > terbesar :
          terbesar = itervar
      print 'Loop:', itervar, terbesar

print 'Data terbesar : ', terbesar






#-------------------------------------------------------
wadah = "lp2m"
panjang = len(wadah)
firstletter=wadah[0]
lastletter=wadah[len(wadah)-1]
print "Panjang         : ",len(wadah)
print "Huruf pertama   : ",firstletter
print "Huruf terakhir  : ",lastletter

print "Susunan letter wadah dilooping : ", "\n"
hit=0
for i in wadah :
   print "Letter ke-",hit," adalah ",i
   hit+=1

#-------------------------------------------------------
fruit='manggo'
index = 0
a=len(fruit)
while index < a:
   letter = fruit[index]
   print letter
   index = index + 1

#-------------------------------------------------------
fhand = open('mbox.txt')
count = 0
for line in fhand:
    count = count + 1
print 'Line Count:', count
#-------------------------------------------------------
fhand = open('pesan.txt')
inp = fhand.read()
print len(inp)
print inp[:36]
#-------------------------------------------------------
NIM=['1120329','1120330','1120332','1120333','1120335','1120336']
NAMA=['Udin Suridin','Maman Suherman','Toto Suharto','Leban Pangaribuan','Bonbon Bonjovi','Miseline Adeleide']
NOHP=['628128283344','628128281244','6281358281244','628123456789','62817582812','628535822322']


f = raw_input("Nama file tanpa extention : ")
fon = f + '.csv'
fo=open(fon,"a")
c=0
while c < 6  :
    print '%s ; %20s ; %13s \n' %(NIM[c],str(NAMA[c]),str(NOHP[c]))
    fo.write(str(NIM[c]) + "; " + str(NAMA[c]) + "; " + str(NOHP[c]) + "\n")
    c+=1
fo.close()




def print_sayhello():
     print "Hallo, apa kabar? i'm lp2maray.com"
     print "Saya senang Anda dapat memiliki dan menggunkan buku kami ini."


#memanggil fungsi di sini

print_sayhello ()  

#-------------------------------------------------------
def faktorial (a):
  if a == 1 :
      print a
      return 1
  else :
      print a
      return ( a * faktorial(a-1))

#program utama

m=raw_input ('Masukkan angka : ')
try :
  x=int(m)
  hasil=faktorial(x)
  print "Hasil faktorial ",x," adalah ", hasil
except:
  print "Data yang dimasukan salah, ulangi!"
#-------------------------------------------------------

def hitung_luas_lingkaran():
    print "Menghitung luas lingkaran"
    radius = input("Jari-jari = ")
    luas = 3.14 * radius * radius
    print "Luas=", luas

def hitung_luas_persegipanjang():
    print "Menghitung luas persegi panjang"
    panjang = input("Panjang = ")
    lebar   = input("Lebar   = ")
    luas = panjang * lebar
    print "Luas=", luas


# Program utama
print "Menghitung luas"
print "1. Lingkaran"
print "2. Persegipanjang"

pilihan = input("Pilihan (1 atau 2): ")
if pilihan == 1:
    hitung_luas_lingkaran()
elif pilihan == 2:
    hitung_luas_persegipanjang()
else:
    print "Pilihan salah"
#--------------------------


Selamat Mencoba

Minggu, 12 Mei 2019

Cek Python Version + Install Jupyter


pada halaman CLI

python -V

GUI PYTHON JUPYTER
1.Download Anaconda Jupyter ->lalu Install (Cheklist pythin 3.7)
2.setelah Install...
ketik di run anaconda navigtor.....




3.pilih SPYDER  dan ketik untuk tes kode python apapun..
misal:
print('halo anaconda')
lalu run.....

4.Jupyter akan aktif dengan port 8888
automatis launch:



atau jika minta Token ?

maka buka ANACONDA POWERSHELL PROMP
ketikkan sbb:

(base) PS C:\Users\USER> jupyter notebook list
Currently running servers:
http://localhost:8888/?token=04266551d3916b069aab2ed1b13f2787d15d40dc2127f34bb35 ::
C:\Users\USER
hasil token diatas di masukkan ke browser:


Maka selanjutnya Layar jupyter sudah siap digunakan terusssssssssssssssssssssssss....


Referensi ttg Jupyter server ada di mari


langkah awal buat konfigurasi servernya dahulu di :C:\Users\USER\.jupyter

(base) PS C:\Users\USER> jupyter notebook --generate-config
Writing default config to: C:\Users\USER\.jupyter\jupyter_notebook_config.py

+++++++++++++++++++++