Jumat, 08 Mei 2015

Python (bahasa pemrograman)


Python adalah bahasa pemrograman interpretatif multiguna[9] dengan filosofi perancangan yang berfokus pada tingkat keterbacaan kode.[10] Python diklaim sebagai bahasa yang menggabungkan kapabilitas, kemampuan, dengan sintaksis kode yang sangat jelas,[11] dan dilengkapi dengan fungsionalitas pustaka standar yang besar serta komprehensif.
Python mendukung multi paradigma pemrograman, utamanya; namun tidak dibatasi; pada pemrograman berorientasi objek, pemrograman imperatif, dan pemrograman fungsional. Salah satu fitur yang tersedia pada python adalah sebagai bahasa pemrograman dinamis yang dilengkapi dengan manajemen memori otomatis. Seperti halnya pada bahasa pemrograman dinamis lainnya, python umumnya digunakan sebagai bahasa skrip meski pada praktiknya penggunaan bahasa ini lebih luas mencakup konteks pemanfaatan yang umumnya tidak dilakukan dengan menggunakan bahasa skrip. Python dapat digunakan untuk berbagai keperluan pengembangan perangkat lunak dan dapat berjalan di berbagai platform sistem operasi.
Saat ini kode python dapat dijalankan di berbagai platform sistem operasi, beberapa diantaranya dalah:
Python didistribusikan dengan beberapa lisensi yang berbeda dari beberapa versi. Lihat sejarahnya di Python Copyright. Namun pada prinsipnya Python dapat diperoleh dan dipergunakan secara bebas, bahkan untuk kepentingan komersial. Lisensi Python tidak bertentangan baik menurut definisi Open Source maupun General Public License (GPL)
Python dikembangkan oleh Guido van Rossum pada tahun 1990 di CWI, Amsterdam sebagai kelanjutan dari bahasa pemrograman ABC. Versi terakhir yang dikeluarkan CWI adalah 1.2.
Tahun 1995, Guido pindah ke CNRI sambil terus melanjutkan pengembangan Python. Versi terakhir yang dikeluarkan adalah 1.6. Tahun 2000, Guido dan para pengembang inti Python pindah ke BeOpen.com yang merupakan sebuah perusahaan komersial dan membentuk BeOpen PythonLabs. Python 2.0 dikeluarkan oleh BeOpen. Setelah mengeluarkan Python 2.0, Guido dan beberapa anggota tim PythonLabs pindah ke DigitalCreations.
Saat ini pengembangan Python terus dilakukan oleh sekumpulan pemrogram yang dikoordinir Guido dan Python Software FoundationPython Software Foundationadalah sebuah organisasi non-profit yang dibentuk sebagai pemegang hak cipta intelektual Python sejak versi 2.1 dan dengan demikian mencegah Python dimilikioleh perusahaan komersial. Saat ini distribusi Python sudah mencapai versi 2.6.1 dan versi 3.0.
Nama Python dipilih oleh Guido sebagai nama bahasa ciptaannya karena kecintaan Guido pada acara televisi Monty Python's Flying Circus. Oleh karena itu seringkali ungkapan-ungkapan khas dari acara tersebut seringkali muncul dalam korespondensi antar pengguna Python.

PENGENALAN OBJECTIVE-C


Objective-C adalah bahasa pemrograman native utama yang dipakai untuk membuat aplikasi Mac. Bahasa ini diextend dari bahasa C yang menggunakan style dari Smalltalk. Semua syntax untuk operasi non object oriented hampir sama dengan C, sedangkan untuk operasi object oriented mengimplementasi dari style Smalltalk. Jadi, sebaiknya anda mempunyai dasar yang cukup dalam pemrograman bahasa C.

Mungkin anda akan merasa aneh dengan struktur objective-c ini, tetapi jangan kuatir karena hampir semua orang mempunyai pendapat sama, termasuk saya.
NSString
Di C, variable string biasanya dideklarasikan sbb:

?
1
char *s = "ini adalah string";
Dengan NSString, menjadi:
1
NSString *s = @"ini adalah string";
NSString disini adalah object string.
@”string” akan membuat sebuah object string, yang bisa langsung diassign ke dalam sebuah variable atau menjadi argument dalam sebuah function.

Penggunaan Method
Dalam bahasa C atau PHP, pemanggilan method biasanya dilakukan dengan cara berikut:

?
1
2
addressBook.displayNames();
addressBook.displayNamesWithPrefix( prefix );
Berikut caranya dalam Objective-C:
?
1
2
[addressBook displayNames];
[addressBook displayNamesWithPrefix: prefix];
Jika melihat contoh diatas, maka format penggunaan method secara keseluruhan bisa disimpulkan sebagai berikut:
?
1
2
[object method];
[object methodWithInput:input];
Untuk function yang mengembalikan sebuah nilai, formatnya sama:
?
1
2
output = [object methodWithOutput];
output = [object methodWithInputAndOutput:input];
Selain pemanggilan function pada sebuah ojbect, kita juga bisa melakukan pemanggilan function pada sebuah class.
Contoh, pemanggilan function string dalam class NSString, yang mengembalikan object NSString:

1
NSString* str = [NSString string];
Ingat, semua variable object dalam Objective-C bertipe pointer sehingga harus ada simbol asterisk(*) disebelah kanan object type, kecuali type “id” karena sudah bertype pointer secara predefined.
Nested Methods
Kita juga bisa menggunakan method/function sebagai parameter dalam function lain, ini disebut nested methods.
Contoh:

?
1
2
function1 ( function2() )
stringWithFormat ( format())
result dari function format() menjadi input/parameter di stringWithFormat().
Di Objective-C, format penulisannya sebagai berikut:

?
1
[NSString stringWithFormat:[prefs format]]
Multiple Arguments
Contoh berikut menggunakan 3 buah argument (string, date dan integer).

1
[ptr setStr:@"A new test..." andDate:[NSDate date] andInteger:99];
Sebelumnya, dideklarasikan sebagai berikut:
1
-(void) setStr:(NSString *)str andDate:(NSDate *)date andInteger:(int)x;
Implementasi dari method setStr() yang menggunakan tiga argument:
1
2
3
4
5
6
7
-(void) setStr:(NSString *)strInput andDate:(NSDate *)dateInput
    andInteger:(int)xInput
{
  [self setStr:strInput];
  [self setDate:dateInput];
  [self setX:xInput];
}
Bisa dilihat pada saat metode setStr() didefinisikan, kita menggunakan variable str, date dan x. Tetapi di implementasinya, kita menggunakan variable strInput, dateInput, dan xInput. Ini karena objective-c mengharuskan nama variable lokal (pada method) tidak boleh sama dengan nama variable yang didefinisikan.
Accessors
Semua instance variable secara default adalah private, sehingga anda harus menggunakan accessors untuk mendapatkan/mengeset nilai pada variable instance tersebut.

setter:
1
[photo setCaption:@"Day at the Beach"];
getter:
1
output = [photo caption];
Catatan penting:
– Dimanapun anda melihat code didalam “square brackets”, berarti anda mengirim sebuah message pada object atau class.