Professional Documents
Culture Documents
• Analizë
• Skice
(Cacoo,
illustrator)
• Dizajn
(photoshop)
• HTML,
HTML5
(Notepad++,
SublimeText2)
• CSS,
CSS3
• Responsive
• Bazat
e
programimit
• KupLmi
i
Programimit
të
Orientuar
në
Objekte
• JavaScript,
DOM,
jQuery,
AJAX,
jSON,
jQueryMobile
• PHP
• MySQL,
XML
• Instalimi
i
serverit
Apache
• Lansimi
online
A
ndermend eshte nje trajektore e drejte nga qyteti juaj, ne
qytetin e mikut tuaj. Mirepo gjerat sikurse ne jeten reale,
ashtu edhe ne programim nuk funksionojne ne jete menyre,
ndaj per te pershkruar rrugen deri ne shtepin tuaj, mikut I
duhen instruksione te sakta per te arritur deri tek ju. Ne
menyre te njejte edhe ne programim duhet te japim
informata te sakta, perndryshe programi mund te ndeshet,
njejt sikurse miku juaj. Kjo eshte edhe arsyeja pse themi se nje
program eshte crash-irat, ka pesuar aksident.
Shembull i programimit ne jeten reale
B
Puna e pare qe bejme per ti ndihmuar mikut tuaj per te arritur
tek ju, eshte analiza. Duhet te jeni te sigurt nese ju jeni ne
dijeni per rrugen e sakt, ate duhet analizuar, per cdo kthese
per cdo semafor qe gjendet ne rruge, pastaj ju filloni ti jepni
instruksionet. Ju mund ti thoni atij, se fillimisht niset djathtas,
vazhdon 2 km, pastaj kthehet djathtas perseri. Pas 500 m ka
nje semafor, nese semafori eshte ne ngjyre te kuqe, atehere
prit derisa te ndezet e gjelberta, pastaj vazhdo drejte,
perndryshe menjehere vazhdo drejte. Pas 17 km tjera keni nje
rreth. Eshte rregull qe ne rreth te silleni 3 here, derisa te lirohet
trafiku, pastaj mas 13 km, ndaleni dhe ju jeni prane shtepise
sime.
Nese ne nuk i kemi dhene instruksionet mire, atehere
mikun shume leht mund ta shohim te perplasur ne ndonje
pem. Qoft edhe pran shtepise.
A
Disa shembuj cfare mund te bejme me ane te
programimit
Programimi nuk eshte vetem shko majtas, shko djathtas
Kodi
i
makines
CPU
Kodimi
Kur te themi, po programoje, po shkruaj kod, po kodoj, C
eshte e njejta gje, mirepo duhet ti kuptojme tri gjera:
C++
1. Si te shkruajme, ku t’ja fillojme me shkru
C#
2. Qysh ai kod, do te konvertohet ne kod te makines
3. Si ta ekzekutojme kete program
Java
JavaScript
Perl
PHP
Python
Objective-C
Ruby
Visual Basic
Te shkruaj kod source (programojme)
Kodi I programimit shkruhet ne plain text. Mund ta hapni C
nje editor te thjeshte ne modin plain text dhe jo rich text,
dhe te filloni me shkru nje odin tuaj.
C++
C#
Nuk ka asgje magjike ne programim, eshte thjesht nje
text, njejt sikur te shkruash nje poezi
Java
JavaScript
Perl
PHP
Python
Objective-C
Ruby
Visual Basic
Shembuj
shembull.js
JavaScript
alert(“Hello, World!”);
shembull.pl
perl
say “Hello, World!”;
shembull.ruby
ruby
puts ‘Hello, World!’
shembull.groovy
Groovy
say “Hello, World!”;
Driton Haxhiu
Hello world, nje shembull klasik
Shembull
I
IDE-‐ve
jane:
alert(“Hello,
world!”);
Hello,
world!
Programeri
Klien-
Gjuhet e kompajlluara dhe te interpretuara
Gjuha
e
kompajlluar
cout<<“Hello,
world!”;
Hello,
world!
Programeri
Klien-
Perparesit dhe mangesit
Gj.
e
Kompajlluara
Gj.
e
interpretuara
Kodi
privat
Hapa
shtese
Thjesht
per
kontroll
Kodi
eshte
publik
Gjuhet e kompajlluara dhe te interpretuara
Intermediate
Language
IL
IL
10111001
IL
Cout<<“H
ello,
01001101
world!”;
00100100
cout<<“Hello,
world!”;
Hello,
world!
Programeri
Klien-
Shembull te gjuheve programuese
a = a + 1;
a = a - 1;
a += 1;
a -= 1;
a++;
a--;
++a;
--a;
Prefiks dhe postfiks
var a = 5;
a
var a = 5;
a
alert(++a);
5
alert(a++);
5
Rezultati shfaqet: 6
Rezultati shfaqet: 5
Operatori ternary (tresh)
kushti ? true: false
var lojtari1 = 230;
var lojtari2 = 378;
var fituesi = (lojtari1 > lojtari2) ? fituesi1 :
fituesi2;
if (lojtari1 > lojtari2){
fituesi = lojtari1;
}
else{
fituesi = lojtari2;
}
Operatoret krahasues
Operatori
Pershkrimi
Shembulli
=
E
barabart
==
Krahasuese
===
Strikt
krahasuese
<=
Me
e
vogel
ose
baraz
< Me e vogel
> Me e madhe
!= Jo e barabarte
&&
Dhe
||
Ose
javascript
if ( a<10 && b === 20 ){ …
if ( a<10 || b ===20 ){ …
if(
(a < 10)
&&
(b === 20)
)
Detyre
per
ushtrime
1
javascript
var a = 5;
var b;
var rezultati;
b=3;
rezultati = a+b;
ReultaL
Rezultati eshte: 8
Kushtet
17
Driton Haxhiu
Kushtet
if ( …kushti… ){
}
Detyre
nga
kushL
javascript
Ne kodin qe shihni ne anen e var
a
=
4;
djathte jane dhene dy variabla te var
b
=
346;
inicializuara njera me vkere 4 dhe if
(a
==
b){
tjetra me vlere 346.
alert(”Vlerat
jane
te
barabarta:
”);
}
Ne kushtin e me poshtem kemi else
if(a<=
b){
thene:
alert(”a
eshte
me
e
vogel”);
Nese a eshte e barabart me b, }
else
{
atehere ekzekutohe –Vlerat jane te
alert(”a
eshte
me
madhe”);
barabarta--.
}
Perndryshe nese a eshte me e
vogel ose baraz me b, ekzekutoje
mesazhin –a eshte me e vogel--.
Perndryshe shfaqe mesazhin -- a
eshte me e madhe --
Detyre
per
ushtrime
2
javascript
javascript
var
a
=
4;
var
emri
=
prompt("si
quheni?
");
var
b
=
346;
var
rez;
alert("Emri
juaj
eshte:
"
+
emri
);
var
oper
=
prompt("Operatori?
");
if
(oper
==
1){
rez
=
a
+
b;
alert("Shuma:
"
+
rez
);
}
else
if(oper
==
2){
rez
=
a
-‐
b;
alert("Zbritja:
"
+
rez
);
}
else
{
rez
=
a
*
b;
alert("Shumezimi:
"
+
rez
);
}
18
Unazat (loops)
Driton Haxhiu
Unazat (Loops)
Ka raste kur neve na nevoitet qe te Deklarimi
Deklarimi
ii
ppare
are
Deklarimi
i
pare
kryejme nje pune te njejte shume here Deklarimi
Deklarimi
ii
ddyte
yte
Deklarimi
i
dyte
(2, 5 ose 500 deri ne infinit). Per te mos I
perseritur manualisht keto te dhena Deklarimi
i
pare
atehere ne perdorim unazat (loop) per te Deklarimi
i
dyte
kryer nje pune te tille.
Shembull konkret: Permes unazave ne Deklarimi
i
pare
mund ti gjenerojme numrat personal te Deklarimi
i
dyte
qytetareve te vendit, ose tabelat e
veturave, madje ne mund ti kufizojme Deklarimi
i
pare
disa numra te rezervuar.
Deklarimi
i
dyte
Per te krijuar nje unaze, kemi tri menyra:
Deklarimi
i
pare
• While (gjersa)
Deklarimi
i
dyte
• Do, while (beje, gjersa)
• For (per)
While
(Gjersa)
Njejte
sikurse
tek
kushtet
qe
kemi
If(
a<
10){
javascript
//…
beje
dicka
…
var
a
=
1;
}
Mirepo
ne
kete
rast
ne
zevendesojme
if
while(
a<
10){
me
while.
console.log(a);
a++;
While
(a
<
10){
}
//…
beje
dicka
…
}
var
a
=
1;
Kontrollo
kushCn
for
(i
=
1;
i
<
10;
i++){
//
…bej
disa
gjera
…
while(
a<
10){
}
console.log(a);
a++;
} Rrit
vleren
per
1
Shembull nga unaza
javascript
for
(i
=
1;
i
<
10;
i++){
console.log(i);
i++;
}
Break
Continue
javascript
javascript
for
(i
=
1;
i
<
10;
i++){
for
(i
=
1;
i
<
10;
i++){
“Break”, nese “Break”, nese
console.log(i);
console.log(i);
i++;
plotesohet
i++;
plotesohet kushti
if
(i
==
98){
kushti brenda
if
(i
==
98){
brenda unazes
break;
unazes atehere
conLnue;
atehere na qet
}
na qet jasht
}
jasht unazes.
} unazes.
}
19
Funksionet
Driton Haxhiu
Per te bere kodin me te lexueshem dhe per te bere me te lehte
manipulimin me te, atehere ne krijojme, funksione. Ne gjuhet
tjera programuese i gjejme si sub rutin ose si module, mirepo
ne JavaScript thjesht Funksione.
javascript
function myFunction(){
console.log(“Hello, world!”);
}
Emertimi
Parametri
function myFunction(x,y){
var shuma = x+y;
console.log(shuma);
return x;
}
myFunction(12,65);
myFunction(543,98);
Parametrat mosperputhes
llogariaBankare(1200, 36);
// Vlerat tjera do te zevendesohen me undefinde.
// Nuk do me thene qe funksionon, por as nuk do te thot qe
funksionon. Duhet te keni kujdese
Variable Scope (fushat qe shihen)
function shembull(){
var foo = 342;
console.log(foo);
}
shembull(); // 342
console.log(foo); // UNDEFINED
function shembull(){
foo = 342;
console.log(foo);
}
shembull(); // 342
console.log(foo); // 342
Shembull nga Funksionet
function gjeneratori(n){
for (i=0; i<=n; i++)
console.log(i);
}
gjeneratori(9);
function gjeneratori(n){
for (i=0; i<=n; i++)
console.log(i);
}
z = prompt(”Jepeni vleren: ");
gjeneratori(z);
Ne oren e ardhshme:
• Vektoret
• Numrat
• Stringjet
• Datat
• Objektet
20
Tipet dhe objektet
Vargjet (vektoret)
Ang. Arrays
Driton Haxhiu
Krijojme vargje
var njeVlere; Kemi krijuar nje variabel njeVlere
njeVlere = 87; dhe e kemi inicializuar me
nje vlere. Vlera e variables 87
mund te jete, numer, string
dhe bulean
alert ( vargu[2] ) ;
Krijojme vargje ne rruge te gajte
var vargu = []; Kjo eshte menyra ime qe preferoje
alert ( vargu[2] ) ;
Tiparet e vargjeve (properties)
Me qenese vargjet jane objekte, atehere ato kan veti dhe metoda
(Vetit, metodat dhe te tjerat me gjeresisht do ti mesojme ne
Programim te Orientuar ne Objekte)
console.log(vleraRevers.join) ; ”40,30,20,10”
Vargjet jane cdokund
Nese duam te dijme sa linqe kemi ne faqen tone, atehere thrrasim
te gjitha linqet
varguILinqeve
Numrat
Driton Haxhiu
Numrat
njeVlere
var x = 87; 87
var x = 87.3;
Mbledhja kunder shtimit (+)
var x = 5;
Numrat
Ketu mblidhen vlerat
e x dhe y
var y = 6;
console.log(x+y); // 11
console.log(x+y); // 56
Mbledhja kunder shtimit (+)
Cka ndodhe kur njera vlere eshte numer, tjetra string?
var x = 5;
var y = ”6”;
console.log(x+y); // 56 – njera vlere eshte string
var x = 5;
var y = ”6”;
console.log(x*y); // NaN
Stringjet
Driton Haxhiu
Stringjet
var stringu = ”Thojza te dyfishta”;
var stringu = ‘Thojza te njefishta’;
var stringu = ‘String tjeter”;
Thojzat brenda thojzave
var stringu = ‘S’lejohen miksimet’;
var stringu = “S’eshte keq”;
var stringu = “Thenja:” Pune pune…””;
var stringu = “Thenja: \” Pune pune…\””;
Tiparet e stringjeve - length
Shpeshe here ne JavaScript na nevoitet te marrim gjatesine e nje
stringu, te cfardo teksti.
Per te marrur gjatesine e tekstit, atehere ne perdorim, emrin e
variables se stringut, pastaj length. Ne kete rast na shfaqet numri I
karaktereve ne ate string.
Nese ne rastin tone i themi 0,9. Atehere do te vij fjala “Nje fraze”
Datat
Driton Haxhiu
Datat dhe koha
JavaScript, perveq qe ka objektet e stringjeve dhe ato matematikore,
gjithashtu ka dhe objektet e datave. Datat perdoren shume ne
programim, ato na nevoiten pothuajse cdo kund
sot.setMonth(5);
sot.setFullYear(2012);
sot.setDate();
sot.setDay();
sot.setHour();
sot.setTime();
Krahasimi i datave
Kemi deklaruar dy variabla dhe i krahasojme ato
if (data1.getTime() == data2.getTime())
{ // vlera do te jete True
24
OOP
Hyrje ne OOP
Programim I orientuar ne objekte
Driton Haxhiu
Hyrje ne OOP
Shumica e gjuheve programuese te cilat jane zhvillu ne 30 vitet e
fundit jan quajtur Gjuhe te Orentuara ne Objekte.
Keshtu nuk ishte gjithmon, para shume viteve eshte programuar ne
menyre procedurale ne Assembly, Fortrain, Cobol. Keto gjuhe nuk jane
OOP, keto jane gjuhe procedurale dhe programi eshte shkruar ne nje
procedure te gjate edhe pse ka permbajt funksione, nen rutina (sub-
routin)ose module, te kombinuara ne logjike dhe te dhena dhe krejt
keto kan qen te perziera bashk
Pershkrim
Ne OOP, krejt kodi I cili eshte skruar ne nje procedure te gjate,
eshte ndare ne pjese te cilat quhen Objekte, me nje fjale mund ti
quajme edhe mini-programe. Secili objekt reprezenton pjese te ndryshe
te aplikacionit dhe secili objekt permban te dhenat e tij (data) dhe
logjikat e tij (logics) dhe pastaj ato komunikojne mes veti
Objekti 2
Objekti 1
data
data
Objekti … logic
logic
data
logic
Cka permban nje objekt
Nje objekt nuk eshte dicka imagjinare, mund te jete cfaredo objekti
edhe I botes reale, nje objekt mund te jete nje lojtar, nje llogari
bankare, nje veture apo nje shtepi.
OOP eshte nje ide, e cila eshte perkrahur ne shume gjuhe programuese.
Para se me vazhdu tutje ne duhet ti dijme disa terme
Objekti 2
Objekti 1
data
data
Objekti … logic
logic
data
logic
Class (Klasa)
Klasa eshte nje skice, nje pershkrim, nje definim, e cila pershkrun
nje gje cfare eshte, por nuk eshte vete ajo gje. Shembull mund te
jete skica e shtepise.
• Atributet
• Sjelljet
Class (Klasa) – sipas Agni dikes
Kur
flitet
për
programimin
e
orientuar
në
objekte(ang.
object-‐oriented
programming),
ose
shkurt
-‐
programimin
me
objekte,
gjithnjë
mendohet
në
klasat
si
dhe
në
objektet
që
deklarohen
me
shfrytëzimin
e
tyre.
Klasat
paraqesin
një
Lp
tjetër
të
strukturave,
në
të
cilat
bashkërisht
vendosen
të
dhënat
dhe
funksionet
që
i
shfrytëzojnë
ato
të
dhëna.
Por,
në
gjuhën
C++,
strukturat
dhe
klasat
kanë
një
dallim
të
vogël.
Derisa
qasja
e
nënkuptuar(ang.
default
access)
te
strukturat
është
publike(ang.
public),
te
klasat
kjo
qasje
e
nënkuptuar
është
private(ang.
private),
gjë
që
do
të
shpjegohet
në
pjesët
vijuese.
Përmes
klasave
jepet
një
mundësi
e
shkruarjes
së
programeve,
të
cilët
sipas
nevojës,
lehtë
ndryshohen,
duke
i
ndryshuar
vetëm
klasat.
Gjatë
kësaj,
problemi
që
zgjidhet
copëtohet
në
klasa
dhe
në
deklarimin
e
objekteve
përkatëse,
gjë
që
ka
një
rëndësi
të
veçantë
kur
kemi
të
bëjmë
me
programe
komplekse,
me
çka
zvogëlohet
mundësia
e
gabimeve.
Programimi
i
zakonshëm,
në
të
cilin
shfrytëzohen
vetëm
funksionet,
ndryshe
quhet
edhe
programim
procedural.
Përmes
programimit
me
objekte,
më
lehtë
modelohet
bota
reale,
krahasuar
me
programimin
procedural,
meqë
brenda
objekteve
përfshihen
funksionet
dhe
të
dhënat
të
cilat
ato
i
shfrytëzojnë.
Në
fillim
të
pjesës
vijuese,
me
qëllim
të
krahasimit
të
strukturave
dhe
të
klasave,
do
të
shfrytëzohen
shembujt
e
programeve
elementare,
të
cilët
janë
marrë
gjatë
shpjegimit
të
strukturave.
Go home Agni Dika you‘re drunk
Cka definon nje klase?
Disa gjera qe permban nje klase Atributet dhe sjelljet ne shumicen e
jane karakteristikat (atributet) gjuheve programuese i gjeni si
dhe disa jane sjelljet Tipare (veti) ang.Proporties dhe
Sjelljet si Metoda, ang. Methods
Class
Class
ATRIBUTET
SJELLJET
VETIT
METODAT
emri
ece
emri
ece
gjatesia
vrapon
gjatesia
vrapon
pesha
kercen
pesha
kercen
gjinia
flet
gjinia
flet
mosha
flen
mosha
flen
…
…
…
…
Nje shtepi e bazuar ne nje skice
Shume shtepi te bazuara ne nje plan (skice)
fig. 1
fig.2
Cka definon nje Objekt?
Nje objekt nuk eshte asgje tjeter perveqse nje klase e inicializuar me
vlera.
Nje objekt dallon nga nje objekt tjeter permes tri gjerave:
• Identiteti ID
• Vetite “Objektet ndryshe I gjeme edhe si instanca.
• Sjelljet Pra shprehja po krijoje nje objekte mund te thuhet po
krijoje nje instance.”
Objektet
Driton Haxhiu
Krijimi i nje objektit
Eshte shume e thjeshte per te krijuar nje objekt ne JS.
Ne e dime se si te krijojme variabla, dime si te krijojme funksione.
Ne krejt cka duhet te bejme, eshte ti fusim ne nje kontinier (vend),
te gjitha se bashku.
Variabla
var emriLojtarit = “Driton”; Driton
emri
var rezultatiLojtarit= 234; 234
rezultaL
var niveliLojtarit = 1; 1
niveli
Ve-t
(propor-es)
lojtari
var lojtari= new Object();
Lojtari.emri = “Driton”; Driton
emri
Lojtari.rezultati = 234; 234
rezultaL
Lojtari.niveli = 1; 1
niveli
Krijimi i nje objektit ne rruge te shkurte
var lojtari1= { emri:“Driton”, rezultati:236, niveli:1}
var lojtari2= { emri:“Lena”, rezultati:349, niveli:5}
lojtari1 lojtari2
console.log(lojtari1.emri);
console.log(lojtari1.emri, lojtari1.rezultati,lojtari1.niveli);
alert("Lojtari
me
emrin:
"
+
lojtari1.emri
+
",
ka
mbledhur
"
+
lojtari1.rezultaL
+
"
pike");
Objekt me i avansuar
//Krijojme dy objekte
var lojtari1= { emri:“Driton”, rezultati:236, niveli:1}
var lojtari2= { emri:“Lena”, rezultati:349, niveli:5}
function detajeNgaLojtari(){
//paraqit info per secilin lojtar
alert("Lojtari
me
emrin:
"
+
this.emri
+
",
ka
mbledhur
"
+
this.rezultaL
+
"
pike");
}
DOM
Document Object Model
Driton Haxhiu
DOM
DOM eshte nje ide, e cila na mundoeson qe ti qasemi
struktures se HTML-it, XML-it dhe CSS permes JavaScript-
es.
Nese duma te bejme nje nderyhrje ne nje tak, apo ne nje
element te caktuar, atehere permes DOM, ne mund te
shkojme sakt ne ate element dhe te bejme ndryshimet
perkatese
DOM
<html>
<head>
<title>DOM</title>
html
</head>
<body>
<h1>JavaScript dhe DOM</h1>
<p>Lorem Ipsum dolor sit amet</p>
head
body
<ul id=“menu”>
<li>Shqiperia</li>
<li>Cameria</li> Ltle
h1
p
ul
<li><a href=“#”>Kosova</a></li>
</ul>
</body>
</html> li
li
li
a
DOM html
Shembull.html
html
<html>
<head>
<title>DOM</title> head
body
</head>
<body>
<h1>JavaScript dhe DOM</h1>
<p>Lorem Ipsum dolor sit amet</p>
<ul id=“menu”>
Ltle
h1
p
ul=“menu”
<li>Shqiperia</li>
<li>Cameria</li>
<li><a href=“#”>Kosova</a></li>
</ul>
</body> li
li
li
</html>
Shembull.js javaScript a
Shembull.js
javaScript
elementi.getAttribute(“img”)
elementi.getAttribute(“alt”)
document.getElementById(“menya”).className = “menya-kryesore”;
$(“#menya”).addClass(“menya-kryesore”);