Address.php
5 years ago
Color.php
5 years ago
Company.php
5 years ago
Internet.php
5 years ago
Person.php
5 years ago
PhoneNumber.php
5 years ago
Person.php
344 lines
| 1 | <?php |
| 2 | |
| 3 | namespace Faker\Provider\id_ID; |
| 4 | |
| 5 | class Person extends \Faker\Provider\Person |
| 6 | { |
| 7 | protected static $lastNameFormat = array( |
| 8 | '{{lastNameMale}}', |
| 9 | '{{lastNameFemale}}', |
| 10 | ); |
| 11 | |
| 12 | protected static $maleNameFormats = array( |
| 13 | '{{firstNameMale}} {{lastNameMale}}', |
| 14 | '{{firstNameMale}} {{lastNameMale}}', |
| 15 | '{{firstNameMale}} {{lastNameMale}}', |
| 16 | '{{firstNameMale}} {{lastNameMale}} {{suffix}}', |
| 17 | '{{firstNameMale}} {{firstNameMale}} {{lastNameMale}}', |
| 18 | '{{firstNameMale}} {{firstNameMale}} {{lastNameMale}} {{suffix}}', |
| 19 | ); |
| 20 | |
| 21 | protected static $femaleNameFormats = array( |
| 22 | '{{firstNameFemale}} {{lastNameFemale}}', |
| 23 | '{{firstNameFemale}} {{lastNameFemale}}', |
| 24 | '{{firstNameFemale}} {{lastNameFemale}}', |
| 25 | '{{firstNameFemale}} {{lastNameFemale}} {{suffix}}', |
| 26 | '{{firstNameFemale}} {{firstNameFemale}} {{lastNameFemale}}', |
| 27 | '{{firstNameFemale}} {{firstNameFemale}} {{lastNameFemale}} {{suffix}}', |
| 28 | ); |
| 29 | |
| 30 | /** |
| 31 | * @link http://www.nama.web.id/search.php?gender=male&origin=Indonesia+-+Jawa&letter=&submit=Search |
| 32 | */ |
| 33 | protected static $firstNameMale = array( |
| 34 | 'Abyasa', 'Ade', 'Adhiarja', 'Adiarja', 'Adika', 'Adikara', 'Adinata', |
| 35 | 'Aditya', 'Agus', 'Ajiman', 'Ajimat', 'Ajimin', 'Ajiono', 'Akarsana', |
| 36 | 'Alambana', 'Among', 'Anggabaya', 'Anom', 'Argono', 'Aris', 'Arta', |
| 37 | 'Artanto', 'Artawan', 'Arsipatra', 'Asirwada', 'Asirwanda', 'Aslijan', |
| 38 | 'Asmadi', 'Asman', 'Asmianto', 'Asmuni', 'Aswani', 'Atma', 'Atmaja', |
| 39 | 'Bagas', 'Bagiya', 'Bagus', 'Bagya', 'Bahuraksa', 'Bahuwarna', |
| 40 | 'Bahuwirya', 'Bajragin', 'Bakda', 'Bakiadi', 'Bakianto', 'Bakidin', |
| 41 | 'Bakijan', 'Bakiman', 'Bakiono', 'Bakti', 'Baktiadi', 'Baktianto', |
| 42 | 'Baktiono', 'Bala', 'Balamantri', 'Balangga', 'Balapati', 'Balidin', |
| 43 | 'Balijan', 'Bambang', 'Banara', 'Banawa', 'Banawi', 'Bancar', 'Budi', |
| 44 | 'Cagak', 'Cager', 'Cahyadi', 'Cahyanto', 'Cahya', 'Cahyo', 'Cahyono', |
| 45 | 'Caket', 'Cakrabirawa', 'Cakrabuana', 'Cakrajiya', 'Cakrawala', |
| 46 | 'Cakrawangsa', 'Candra', 'Chandra', 'Candrakanta', 'Capa', 'Caraka', |
| 47 | 'Carub', 'Catur', 'Caturangga', 'Cawisadi', 'Cawisono', 'Cawuk', |
| 48 | 'Cayadi', 'Cecep', 'Cemani', 'Cemeti', 'Cemplunk', 'Cengkal', 'Cengkir', |
| 49 | 'Dacin', 'Dadap', 'Dadi', 'Dagel', 'Daliman', 'Dalimin', 'Daliono', |
| 50 | 'Damar', 'Damu', 'Danang', 'Daniswara', 'Danu', 'Danuja', 'Dariati', |
| 51 | 'Darijan', 'Darimin', 'Darmaji', 'Darman', 'Darmana', 'Darmanto', |
| 52 | 'Darsirah', 'Dartono', 'Daru', 'Daruna', 'Daryani', 'Dasa', 'Digdaya', |
| 53 | 'Dimas', 'Dimaz', 'Dipa', 'Dirja', 'Drajat', 'Dwi', 'Dono', 'Dodo', |
| 54 | 'Edi', 'Eka', 'Elon', 'Eluh', 'Eman', 'Emas', 'Embuh', 'Emong', |
| 55 | 'Empluk', 'Endra', 'Enteng', 'Estiawan', 'Estiono', 'Eko', 'Edi', |
| 56 | 'Edison', 'Edward', 'Elvin', 'Erik', 'Emil', 'Ega', 'Emin', 'Eja', |
| 57 | 'Gada', 'Gadang', 'Gaduh', 'Gaiman', 'Galak', 'Galang', 'Galar', |
| 58 | 'Galih', 'Galiono', 'Galuh', 'Galur', 'Gaman', 'Gamani', 'Gamanto', |
| 59 | 'Gambira', 'Gamblang', 'Ganda', 'Gandewa', 'Gandi', 'Gandi', 'Ganep', |
| 60 | 'Gangsa', 'Gangsar', 'Ganjaran', 'Gantar', 'Gara', 'Garan', 'Garang', |
| 61 | 'Garda', 'Gatot', 'Gatra', 'Gilang', 'Galih', 'Ghani', 'Gading', |
| 62 | 'Hairyanto', 'Hardana', 'Hardi', 'Harimurti', 'Harja', 'Harjasa', |
| 63 | 'Harjaya', 'Harjo', 'Harsana', 'Harsanto', 'Harsaya', 'Hartaka', |
| 64 | 'Hartana', 'Harto', 'Hasta', 'Heru', 'Himawan', 'Hadi', 'Halim', |
| 65 | 'Hasim', 'Hasan', 'Hendra', 'Hendri', 'Heryanto', 'Hamzah', 'Hari', |
| 66 | 'Imam', 'Indra', 'Irwan', 'Irsad', 'Ikhsan', 'Irfan', 'Ian', 'Ibrahim', |
| 67 | 'Ibrani', 'Ismail', 'Irnanto', 'Ilyas', 'Ibun', 'Ivan', 'Ikin', 'Ihsan', |
| 68 | 'Jabal', 'Jaeman', 'Jaga', 'Jagapati', 'Jagaraga', 'Jail', 'Jaiman', |
| 69 | 'Jaka', 'Jarwa', 'Jarwadi', 'Jarwi', 'Jasmani', 'Jaswadi', 'Jati', |
| 70 | 'Jatmiko', 'Jaya', 'Jayadi', 'Jayeng', 'Jinawi', 'Jindra', 'Joko', |
| 71 | 'Jumadi', 'Jumari', 'Jamal', 'Jamil', 'Jais', 'Jefri', 'Johan', 'Jono', |
| 72 | 'Kacung', 'Kajen', 'Kambali', 'Kamidin', 'Kariman', 'Karja', 'Karma', |
| 73 | 'Karman', 'Karna', 'Karsa', 'Karsana', 'Karta', 'Kasiran', 'Kasusra', |
| 74 | 'Kawaca', 'Kawaya', 'Kayun', 'Kemba', 'Kenari', 'Kenes', 'Kuncara', |
| 75 | 'Kunthara', 'Kusuma', 'Kadir', 'Kala', 'Kalim', 'Kurnia', 'Kanda', |
| 76 | 'Kardi', 'Karya', 'Kasim', 'Kairav', 'Kenzie', 'Kemal', 'Kamal', 'Koko', |
| 77 | 'Labuh', 'Laksana', 'Lamar', 'Lanang', 'Langgeng', 'Lanjar', 'Lantar', |
| 78 | 'Lega', 'Legawa', 'Lembah', 'Liman', 'Limar', 'Luhung', 'Lukita', |
| 79 | 'Luluh', 'Lulut', 'Lurhur', 'Luwar', 'Luwes', 'Latif', 'Lasmanto', |
| 80 | 'Lukman', 'Luthfi', 'Leo', 'Luis', 'Lutfan', 'Lasmono', 'Laswi', |
| 81 | 'Mahesa', 'Makara', 'Makuta', 'Manah', 'Maras', 'Margana', 'Mariadi', |
| 82 | 'Marsudi', 'Martaka', 'Martana', 'Martani', 'Marwata', 'Maryadi', |
| 83 | 'Maryanto', 'Mitra', 'Mujur', 'Mulya', 'Mulyanto', 'Mulyono', 'Mumpuni', |
| 84 | 'Muni', 'Mursita', 'Murti', 'Mustika', 'Maman', 'Mahmud', 'Mahdi', |
| 85 | 'Mahfud', 'Malik', 'Muhammad', 'Mustofa', 'Marsito', 'Mursinin', |
| 86 | 'Nalar', 'Naradi', 'Nardi', 'Niyaga', 'Nrima', 'Nugraha', 'Nyana', |
| 87 | 'Narji', 'Nasab', 'Nasrullah', 'Nasim', 'Najib', 'Najam', 'Nyoman', |
| 88 | 'Olga', 'Ozy', 'Omar', 'Opan', 'Oskar', 'Oman', 'Okto', 'Okta', 'Opung', |
| 89 | 'Paiman', 'Panca', 'Pangeran', 'Pangestu', 'Pardi', 'Parman', 'Perkasa', |
| 90 | 'Praba', 'Prabu', 'Prabawa', 'Prabowo', 'Prakosa', 'Pranata', 'Pranawa', |
| 91 | 'Prasetya', 'Prasetyo', 'Prayitna', 'Prayoga', 'Prayogo', 'Purwadi', |
| 92 | 'Purwa', 'Purwanto', 'Panji', 'Pandu', 'Paiman', 'Prima', 'Putu', |
| 93 | 'Raden', 'Raditya', 'Raharja', 'Rama', 'Rangga', 'Reksa', 'Respati', |
| 94 | 'Rusman', 'Rosman', 'Rahmat', 'Rahman', 'Rendy', 'Reza', 'Rizki', |
| 95 | 'Ridwan', 'Rudi', 'Raden', 'Radit', 'Radika', 'Rafi', 'Rafid', 'Raihan', |
| 96 | 'Salman', 'Saadat', 'Saiful', 'Surya', 'Slamet', 'Samsul', 'Soleh', |
| 97 | 'Simon', 'Sabar', 'Sabri', 'Sidiq', 'Satya', 'Setya', 'Saka', 'Sakti', |
| 98 | 'Taswir', 'Tedi', 'Teddy', 'Taufan', 'Taufik', 'Tomi', 'Tasnim', |
| 99 | 'Teguh', 'Tasdik', 'Timbul', 'Tirta', 'Tirtayasa', 'Tri', 'Tugiman', |
| 100 | 'Umar', 'Usman', 'Uda', 'Umay', 'Unggul', 'Utama', 'Umaya', 'Upik', |
| 101 | 'Viktor', 'Vino', 'Vinsen', 'Vero', 'Vega', 'Viman', 'Virman', |
| 102 | 'Wahyu', 'Wira', 'Wisnu', 'Wadi', 'Wardi', 'Warji', 'Waluyo', 'Wakiman', |
| 103 | 'Wage', 'Wardaya', 'Warsa', 'Warsita', 'Warta', 'Wasis', 'Wawan', |
| 104 | 'Xanana', 'Yahya', 'Yusuf', 'Yosef', 'Yono', 'Yoga', |
| 105 | ); |
| 106 | |
| 107 | /** |
| 108 | * @link http://namafb.com/2010/08/12/top-1000-nama-populer-indonesia/ |
| 109 | */ |
| 110 | protected static $firstNameFemale = array( |
| 111 | 'Ade', 'Agnes', 'Ajeng', 'Amalia', 'Anita', 'Ayu', 'Aisyah', 'Ana', |
| 112 | 'Ami', 'Ani', 'Azalea', 'Aurora', 'Alika', 'Anastasia', 'Amelia', |
| 113 | 'Almira', 'Bella', 'Betania', 'Belinda', 'Citra', 'Cindy', 'Chelsea', |
| 114 | 'Clara', 'Cornelia', 'Cinta', 'Cinthia', 'Ciaobella', 'Cici', 'Carla', |
| 115 | 'Calista', 'Devi', 'Dewi','Dian', 'Diah', 'Diana', 'Dina', 'Dinda', |
| 116 | 'Dalima', 'Eka', 'Eva', 'Endah', 'Elisa', 'Eli', 'Ella', 'Ellis', |
| 117 | 'Elma', 'Elvina', 'Fitria', 'Fitriani', 'Febi', 'Faizah', 'Farah', |
| 118 | 'Farhunnisa', 'Fathonah', 'Gabriella', 'Gasti', 'Gawati', 'Genta', |
| 119 | 'Ghaliyati', 'Gina', 'Gilda', 'Halima', 'Hesti', 'Hilda', 'Hafshah', |
| 120 | 'Hamima', 'Hana', 'Hani', 'Hasna', 'Humaira', 'Ika', 'Indah', 'Intan', |
| 121 | 'Irma', 'Icha', 'Ida', 'Ifa', 'Ilsa', 'Ina', 'Ira', 'Iriana', 'Jamalia', |
| 122 | 'Janet', 'Jane', 'Julia', 'Juli', 'Jessica', 'Jasmin', 'Jelita', |
| 123 | 'Kamaria', 'Kamila', 'Kani', 'Karen', 'Karimah', 'Kartika', 'Kasiyah', |
| 124 | 'Keisha', 'Kezia', 'Kiandra', 'Kayla', 'Kania', 'Lala', 'Lalita', |
| 125 | 'Latika', 'Laila', 'Laras', 'Lidya', 'Lili', 'Lintang', 'Maria', 'Mala', |
| 126 | 'Maya', 'Maida', 'Maimunah', 'Melinda', 'Mila', 'Mutia', 'Michelle', |
| 127 | 'Malika', 'Nadia', 'Nadine', 'Nabila', 'Natalia', 'Novi', 'Nova', |
| 128 | 'Nurul', 'Nilam', 'Najwa', 'Olivia', 'Ophelia', 'Oni', 'Oliva', 'Padma', |
| 129 | 'Putri', 'Paramita', 'Paris', 'Patricia', 'Paulin', 'Puput', 'Puji', |
| 130 | 'Pia', 'Puspa', 'Puti', 'Putri', 'Padmi', 'Qori', 'Queen', 'Ratih', |
| 131 | 'Ratna', 'Restu', 'Rini', 'Rika', 'Rina', 'Rahayu', 'Rahmi', 'Rachel', |
| 132 | 'Rahmi', 'Raisa', 'Raina', 'Sarah', 'Sari', 'Siti', 'Siska', 'Suci', |
| 133 | 'Syahrini', 'Septi', 'Sadina', 'Safina', 'Sakura', 'Salimah', 'Salwa', |
| 134 | 'Salsabila', 'Samiah', 'Shania', 'Sabrina', 'Silvia', 'Shakila', |
| 135 | 'Talia', 'Tami', 'Tira', 'Tiara', 'Titin', 'Tania', 'Tina', 'Tantri', |
| 136 | 'Tari', 'Titi', 'Uchita', 'Unjani', 'Ulya', 'Uli', 'Ulva', 'Umi', |
| 137 | 'Usyi', 'Vanya', 'Vanesa', 'Vivi', 'Vera', 'Vicky', 'Victoria', |
| 138 | 'Violet', 'Winda', 'Widya', 'Wulan', 'Wirda', 'Wani', 'Yani', 'Yessi', |
| 139 | 'Yulia', 'Yuliana', 'Yuni', 'Yunita', 'Yance', 'Zahra', 'Zalindra', |
| 140 | 'Zaenab', 'Zulfa', 'Zizi', 'Zulaikha', 'Zamira', 'Zelda', 'Zelaya', |
| 141 | ); |
| 142 | |
| 143 | /** |
| 144 | * @link http://namafb.com/2010/08/12/top-1000-nama-populer-indonesia/ |
| 145 | * @link http://id.wikipedia.org/wiki/Daftar_marga_suku_Batak_di_Toba |
| 146 | */ |
| 147 | protected static $lastNameMale = array( |
| 148 | 'Adriansyah', 'Ardianto', 'Anggriawan', 'Budiman', 'Budiyanto', |
| 149 | 'Damanik', 'Dongoran', 'Dabukke', 'Firmansyah', 'Firgantoro', |
| 150 | 'Gunarto', 'Gunawan', 'Hardiansyah', 'Habibi', 'Hakim', 'Halim', |
| 151 | 'Haryanto', 'Hidayat', 'Hidayanto', 'Hutagalung', 'Hutapea', 'Hutasoit', |
| 152 | 'Irawan', 'Iswahyudi', 'Kuswoyo', 'Januar', 'Jailani', 'Kurniawan', |
| 153 | 'Kusumo', 'Latupono', 'Lazuardi', 'Maheswara', 'Mahendra', 'Mustofa', |
| 154 | 'Mansur', 'Mandala', 'Megantara', 'Maulana', 'Maryadi', 'Mangunsong', |
| 155 | 'Manullang', 'Marpaung', 'Marbun', 'Narpati', 'Natsir', 'Nugroho', |
| 156 | 'Najmudin', 'Nashiruddin', 'Nainggolan', 'Nababan', 'Napitupulu', |
| 157 | 'Pangestu', 'Putra', 'Pranowo', 'Prabowo', 'Pratama', 'Prasetya', |
| 158 | 'Prasetyo', 'Pradana', 'Pradipta', 'Prakasa', 'Permadi', 'Prasasta', |
| 159 | 'Prayoga', 'Ramadan', 'Rajasa', 'Rajata', 'Saptono', 'Santoso', |
| 160 | 'Saputra', 'Saefullah', 'Setiawan', 'Suryono', 'Suwarno', 'Siregar', |
| 161 | 'Sihombing', 'Salahudin', 'Sihombing', 'Samosir', 'Saragih', 'Sihotang', |
| 162 | 'Simanjuntak', 'Sinaga', 'Simbolon', 'Sitompul', 'Sitorus', 'Sirait', |
| 163 | 'Siregar', 'Situmorang', 'Tampubolon', 'Thamrin', 'Tamba', 'Tarihoran', |
| 164 | 'Utama', 'Uwais', 'Wahyudin', 'Waluyo', 'Wibowo', 'Winarno', 'Wibisono', |
| 165 | 'Wijaya', 'Widodo', 'Wacana', 'Waskita', 'Wasita', 'Zulkarnain', |
| 166 | ); |
| 167 | |
| 168 | /** |
| 169 | * @link http://namafb.com/2010/08/12/top-1000-nama-populer-indonesia/ |
| 170 | */ |
| 171 | protected static $lastNameFemale = array( |
| 172 | 'Agustina', 'Andriani', 'Anggraini', 'Aryani', 'Astuti', |
| 173 | 'Fujiati', 'Farida', 'Handayani', 'Hassanah', 'Hartati', 'Hasanah', |
| 174 | 'Haryanti', 'Hariyah', 'Hastuti', 'Halimah', 'Kusmawati', 'Kuswandari', |
| 175 | 'Laksmiwati', 'Laksita', 'Lestari', 'Lailasari', 'Mandasari', |
| 176 | 'Mardhiyah', 'Mayasari', 'Melani', 'Mulyani', 'Maryati', 'Nurdiyanti', |
| 177 | 'Novitasari', 'Nuraini', 'Nasyidah', 'Nasyiah', 'Namaga', 'Palastri', |
| 178 | 'Pudjiastuti', 'Puspasari', 'Puspita', 'Purwanti', 'Pratiwi', |
| 179 | 'Purnawati', 'Pertiwi', 'Permata', 'Prastuti', 'Padmasari', 'Rahmawati', |
| 180 | 'Rahayu', 'Riyanti', 'Rahimah', 'Suartini', 'Sudiati', 'Suryatmi', |
| 181 | 'Susanti', 'Safitri', 'Oktaviani', 'Utami', 'Usamah', 'Usada', |
| 182 | 'Uyainah', 'Yuniar', 'Yuliarti', 'Yulianti', 'Yolanda', 'Wahyuni', |
| 183 | 'Wijayanti', 'Widiastuti', 'Winarsih', 'Wulandari', 'Wastuti', 'Zulaika', |
| 184 | ); |
| 185 | |
| 186 | /** |
| 187 | * @link http://id.wikipedia.org/wiki/Gelar_akademik |
| 188 | */ |
| 189 | protected static $titleMale = array('dr.', 'drg.', 'Dr.', 'Drs.', 'Ir.', 'H.'); |
| 190 | |
| 191 | /** |
| 192 | * @link http://id.wikipedia.org/wiki/Gelar_akademik |
| 193 | */ |
| 194 | protected static $titleFemale = array('dr.', 'drg.', 'Dr.', 'Hj.'); |
| 195 | |
| 196 | /** |
| 197 | * @link http://informasipedia.com/wilayah-indonesia/daftar-kabupaten-kota-di-indonesia/ |
| 198 | */ |
| 199 | protected static $birthPlaceCode = array( |
| 200 | '1101', '1102', '1103', '1104', '1105', '1106', '1107', '1108', '1109', '1110', '1111', '1112', '1113', '1114', '1115', '1116', |
| 201 | '1117', '1118', '1171', '1172', '1173', '1174', '1175', '1201', '1202', '1203', '1204', '1205', '1206', '1207', '1208', '1209', |
| 202 | '1210', '1211', '1212', '1213', '1214', '1215', '1216', '1217', '1218', '1219', '1220', '1221', '1222', '1223', '1224', '1225', |
| 203 | '1271', '1272', '1273', '1274', '1275', '1276', '1277', '1278', '1301', '1302', '1303', '1304', '1305', '1306', '1307', '1308', |
| 204 | '1309', '1310', '1311', '1312', '1371', '1372', '1373', '1374', '1375', '1376', '1377', '1401', '1402', '1403', '1404', '1405', |
| 205 | '1406', '1407', '1408', '1409', '1410', '1471', '1472', '1501', '1502', '1503', '1504', '1505', '1506', '1507', '1508', '1509', |
| 206 | '1571', '1572', '1601', '1602', '1603', '1604', '1605', '1606', '1607', '1608', '1609', '1610', '1611', '1612', '1613', '1671', |
| 207 | '1672', '1673', '1674', '1701', '1702', '1703', '1704', '1705', '1706', '1707', '1708', '1709', '1771', '1801', '1802', '1803', |
| 208 | '1804', '1805', '1806', '1807', '1808', '1809', '1810', '1811', '1812', '1813', '1871', '1872', '1901', '1902', '1903', '1904', |
| 209 | '1905', '1906', '1971', '2101', '2102', '2103', '2104', '2105', '2171', '2172', '3101', '3171', '3172', '3173', '3174', '3175', |
| 210 | '3201', '3202', '3203', '3204', '3205', '3206', '3207', '3208', '3209', '3210', '3211', '3212', '3213', '3214', '3215', '3216', |
| 211 | '3217', '3218', '3271', '3272', '3273', '3274', '3275', '3276', '3277', '3278', '3279', '3301', '3302', '3303', '3304', '3305', |
| 212 | '3306', '3307', '3308', '3309', '3310', '3311', '3312', '3313', '3314', '3315', '3316', '3317', '3318', '3319', '3320', '3321', |
| 213 | '3322', '3323', '3324', '3325', '3326', '3327', '3328', '3329', '3371', '3372', '3373', '3374', '3375', '3376', '3401', '3402', |
| 214 | '3403', '3404', '3471', '3501', '3502', '3503', '3504', '3505', '3506', '3507', '3508', '3509', '3510', '3511', '3512', '3513', |
| 215 | '3514', '3515', '3516', '3517', '3518', '3519', '3520', '3521', '3522', '3523', '3524', '3525', '3526', '3527', '3528', '3529', |
| 216 | '3571', '3572', '3573', '3574', '3575', '3576', '3577', '3578', '3579', '3601', '3602', '3603', '3604', '3671', '3672', '3673', |
| 217 | '3674', '5101', '5102', '5103', '5104', '5105', '5106', '5107', '5108', '5171', '5201', '5202', '5203', '5204', '5205', '5206', |
| 218 | '5207', '5208', '5271', '5272', '5301', '5302', '5303', '5304', '5305', '5306', '5307', '5308', '5309', '5310', '5311', '5312', |
| 219 | '5313', '5314', '5315', '5316', '5317', '5318', '5319', '5320', '5321', '5371', '6101', '6102', '6103', '6104', '6105', '6106', |
| 220 | '6107', '6108', '6109', '6110', '6111', '6112', '6171', '6172', '6201', '6202', '6203', '6204', '6205', '6206', '6207', '6208', |
| 221 | '6209', '6210', '6211', '6212', '6213', '6271', '6301', '6302', '6303', '6304', '6305', '6306', '6307', '6308', '6309', '6310', |
| 222 | '6311', '6371', '6401', '6402', '6403', '6407', '6408', '6409', '6411', '6471', '6472', '6474', '6501', '6502', '6503', '6504', |
| 223 | '6571', '7101', '7102', '7103', '7104', '7105', '7106', '7107', '7108', '7109', '7110', '7111', '7171', '7201', '7202', '7203', |
| 224 | '7204', '7205', '7206', '7207', '7208', '7209', '7210', '7211', '7212', '7271', '7301', '7302', '7303', '7304', '7305', '7306', |
| 225 | '7307', '7308', '7309', '7310', '7311', '7312', '7313', '7314', '7315', '7316', '7317', '7318', '7322', '7324', '7326', '7371', |
| 226 | '7372', '7373', '7401', '7402', '7403', '7404', '7405', '7406', '7407', '7408', '7409', '7410', '7411', '7412', '7413', '7414', |
| 227 | '7415', '7471', '7472', '7501', '7502', '7503', '7504', '7505', '7571', '7601', '7602', '7603', '7604', '7605', '7606', '8101', |
| 228 | '8102', '8103', '8104', '8105', '8106', '8107', '8108', '8109', '8171', '8172', '8201', '8202', '8203', '8204', '8205', '8206', |
| 229 | '8207', '8208', '8271', '8272', '9101', '9102', '9103', '9104', '9105', '9106', '9107', '9108', '9109', '9110', '9111', '9112', |
| 230 | '9113', '9114', '9115', '9116', '9117', '9118', '9119', '9120', '9121', '9122', '9123', '9124', '9125', '9126', '9127', '9128', |
| 231 | '9171', '9201', '9202', '9203', '9204', '9205', '9206', '9207', '9208', '9209', '9210', '9211', '9212', '9271', |
| 232 | ); |
| 233 | |
| 234 | /** |
| 235 | * For academic title |
| 236 | * @link http://id.wikipedia.org/wiki/Gelar_akademik |
| 237 | */ |
| 238 | private static $suffix = array('S.Ked', 'S.Gz', 'S.Pt', 'S.IP', 'S.E.I', |
| 239 | 'S.E.', 'S.Kom', 'S.H.', 'S.T.', 'S.Pd', 'S.Psi', 'S.I.Kom', |
| 240 | 'S.Sos', 'S.Farm', 'M.M.', 'M.Kom.', 'M.TI.', 'M.Pd', 'M.Farm', 'M.Ak', ); |
| 241 | |
| 242 | /** |
| 243 | * Return last name |
| 244 | * |
| 245 | * @param string|null $gender male or female or null for any |
| 246 | * |
| 247 | * @return string last name |
| 248 | */ |
| 249 | public function lastName($gender = null) |
| 250 | { |
| 251 | if ($gender === static::GENDER_MALE) { |
| 252 | return static::lastNameMale(); |
| 253 | } |
| 254 | if ($gender === static::GENDER_FEMALE) { |
| 255 | return static::lastNameFemale(); |
| 256 | } |
| 257 | $lastNameRandomElement = static::randomElement(static::$lastNameFormat); |
| 258 | |
| 259 | return $this->generator->parse($lastNameRandomElement); |
| 260 | } |
| 261 | |
| 262 | /** |
| 263 | * Return last name for male |
| 264 | * |
| 265 | * @access public |
| 266 | * @return string last name |
| 267 | */ |
| 268 | public static function lastNameMale() |
| 269 | { |
| 270 | return static::randomElement(static::$lastNameMale); |
| 271 | } |
| 272 | |
| 273 | /** |
| 274 | * Return last name for female |
| 275 | * |
| 276 | * @access public |
| 277 | * @return string last name |
| 278 | */ |
| 279 | public static function lastNameFemale() |
| 280 | { |
| 281 | return static::randomElement(static::$lastNameFemale); |
| 282 | } |
| 283 | |
| 284 | /** |
| 285 | * For academic title |
| 286 | * |
| 287 | * @access public |
| 288 | * @return string suffix |
| 289 | */ |
| 290 | public static function suffix() |
| 291 | { |
| 292 | return static::randomElement(static::$suffix); |
| 293 | } |
| 294 | |
| 295 | /** |
| 296 | * Generates Nomor Induk Kependudukan (NIK) |
| 297 | * |
| 298 | * @link https://en.wikipedia.org/wiki/National_identification_number#Indonesia |
| 299 | * |
| 300 | * @param null|string $gender |
| 301 | * @param null|\DateTime $birthDate |
| 302 | * @return string |
| 303 | */ |
| 304 | public function nik($gender = null, $birthDate = null) |
| 305 | { |
| 306 | # generate first numbers (region data) |
| 307 | $nik = $this->birthPlaceCode(); |
| 308 | $nik .= $this->generator->numerify('##'); |
| 309 | |
| 310 | if (!$birthDate) { |
| 311 | $birthDate = $this->generator->dateTimeBetween(); |
| 312 | } |
| 313 | |
| 314 | if (!$gender) { |
| 315 | $gender = $this->generator->randomElement(array(self::GENDER_MALE, self::GENDER_FEMALE)); |
| 316 | } |
| 317 | |
| 318 | # if gender is female, add 40 to days |
| 319 | if ($gender == self::GENDER_FEMALE) { |
| 320 | $nik .= $birthDate->format('d') + 40; |
| 321 | } else { |
| 322 | $nik .= $birthDate->format('d'); |
| 323 | } |
| 324 | |
| 325 | $nik .= $birthDate->format('my'); |
| 326 | |
| 327 | # add last random digits |
| 328 | $nik .= $this->generator->numerify('####'); |
| 329 | |
| 330 | return $nik; |
| 331 | } |
| 332 | |
| 333 | /** |
| 334 | * Generates birth place code for NIK |
| 335 | * |
| 336 | * @link https://id.wikipedia.org/wiki/Nomor_Induk_Kependudukan |
| 337 | * @link http://informasipedia.com/wilayah-indonesia/daftar-kabupaten-kota-di-indonesia/ |
| 338 | */ |
| 339 | protected function birthPlaceCode() |
| 340 | { |
| 341 | return static::randomElement(static::$birthPlaceCode); |
| 342 | } |
| 343 | } |
| 344 |